We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Sized
Self
1 parent 4d2d3fc commit 288c0c3Copy full SHA for 288c0c3
src/libcore/marker.rs
@@ -63,9 +63,13 @@ impl<T: ?Sized> !Send for *mut T { }
63
/// struct BarUse(Bar<[i32]>); // OK
64
/// ```
65
///
66
-/// The one exception is the implicit `Self` type of a trait, which does not
67
-/// get an implicit `Sized` bound. This is because a `Sized` bound prevents
68
-/// the trait from being used to form a [trait object]:
+/// The one exception is the implicit `Self` type of a trait. A trait does not
+/// have an implicit `Sized` bound as this is incompatible with [trait object]s
+/// where, by definition, one cannot know the size of all possible
69
+/// implementations of the trait.
70
+///
71
+/// Although Rust will let you bind `Sized` to a trait, you won't
72
+/// be able to use it as a trait object later:
73
74
75
/// # #![allow(unused_variables)]
0 commit comments