diff --git a/src/dynamically-sized-types.md b/src/dynamically-sized-types.md index ca40dfec4..ad35c7a8c 100644 --- a/src/dynamically-sized-types.md +++ b/src/dynamically-sized-types.md @@ -11,10 +11,10 @@ types">DSTs. Such types can only be used in certain cases: * Pointers to slices also store the number of elements of the slice. * Pointers to trait objects also store a pointer to a vtable. * DSTs can be provided as - type arguments when a bound of `?Sized`. By default any type parameter - has a `Sized` bound. + type arguments when the type parameter has the special lifetime bound [`?Sized`](trait-bounds.html#sized) specified. (In other words by default any type parameter on a non-trait item + has a `Sized` bound, and specifying the `?Sized` bound removes it.) * Traits may be implemented for DSTs. Unlike type parameters `Self: ?Sized` by default in trait + types">DSTs. Unlike type parameters on other kinds of items, `Self: ?Sized` is the default in trait definitions. * Structs may contain a DST as the last field, this makes the struct itself a diff --git a/src/trait-bounds.md b/src/trait-bounds.md index fe677a9a1..55bd91956 100644 --- a/src/trait-bounds.md +++ b/src/trait-bounds.md @@ -77,8 +77,8 @@ Trait and lifetime bounds are also used to name [trait objects]. ## `?Sized` -`?` is only used to declare that the [`Sized`] trait may not be -implemented for a type parameter or associated type. `?Sized` may +`?` is only used to declare that the [`Sized`] trait may be +unimplemented for a type parameter or associated type. `?Sized` may not be used as a bound for other types. ## Lifetime bounds