File tree Expand file tree Collapse file tree 3 files changed +22
-3
lines changed Expand file tree Collapse file tree 3 files changed +22
-3
lines changed Original file line number Diff line number Diff line change @@ -145,6 +145,8 @@ Language changes in Rust 1.78.0
145
145
146
146
* `\` trait Trait: Auto {}\` : allow upcasting from \` dyn Trait\` to \` dyn Trait + Auto\` <https://github.com/rust-lang/rust/pull/119338 >`_
147
147
148
+ * New paragraph: :p: `fls_SYnFJBhi0IWj `
149
+
148
150
language changes in Rust 1.77.0
149
151
-------------------------------
150
152
Original file line number Diff line number Diff line change @@ -5057,6 +5057,14 @@ primitive representation
5057
5057
:dt: `Primitive representation ` is the :t: `type representation ` of
5058
5058
:t: `[integer type]s `.
5059
5059
5060
+ .. _fls_mk3sa7OvtJvB :
5061
+
5062
+ principal trait
5063
+ ^^^^^^^^^^^^^^^
5064
+
5065
+ :dp: `fls_YtYOHoPaMPFX `
5066
+ The :dt: `principal trait ` of :t: `trait object type ` is its first :t: `trait bound `.
5067
+
5060
5068
.. _fls_v1u1mevpj0kj :
5061
5069
5062
5070
private visibility
Original file line number Diff line number Diff line change @@ -1156,10 +1156,14 @@ Trait Object Types
1156
1156
A :t: `trait object type ` is a :t: `type ` that implements a :t: `trait `, where the
1157
1157
:t: `type ` is not known at compile time.
1158
1158
1159
+ :dp: `fls_eWac7zOda3lh `
1160
+ The :t: `principal trait ` of :t: `trait object type ` is the first :t: `trait bound `.
1161
+
1159
1162
:dp: `fls_9z8oleh0wdel `
1160
- The first :t: `trait bound ` of a :t: `trait object type ` shall denote an
1161
- :t: `object safe ` :t: `trait `. Any subsequent :t: `[trait bound]s ` shall denote
1162
- :t: `[auto trait]s `.
1163
+ The :t: `principal trait ` shall denote an :t: `object safe ` :t: `trait `.
1164
+
1165
+ :dp: `fls_hJII8XYAtZeY `
1166
+ All non-:t: `principal trait ` :t: `[trait bound]s ` shall denote :t: `[auto trait]s `.
1163
1167
1164
1168
:dp: `fls_s0oy2c8t4yz9 `
1165
1169
A :t: `trait object type ` shall not contain :t: `[opt-out trait bound]s `.
@@ -1992,6 +1996,11 @@ occur when:
1992
1996
The source :t: `type ` is the :t: `never type ` and the target :t: `type ` is any
1993
1997
:t: `type `.
1994
1998
1999
+ * :dp: `fls_SYnFJBhi0IWj `
2000
+ The source :t: `type ` is a :t: `trait object type ` and the target :t: `type ` is a
2001
+ :t: `trait object type ` with the same :t: `[trait bound]s ` and additional
2002
+ :t: `[auto trait]s `.
2003
+
1995
2004
:dp: `fls_iiiu2q7pym4p `
1996
2005
An :t: `unsized coercion ` is a :t: `type coercion ` that converts a :t: `sized type `
1997
2006
into an :t: `unsized type `. :t: `Unsized coercion ` from a source :t: `type ` to a
You can’t perform that action at this time.
0 commit comments