about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/doc/book/unsized-types.md7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/doc/book/unsized-types.md b/src/doc/book/unsized-types.md
index 73b90355e4f..d94409a7b82 100644
--- a/src/doc/book/unsized-types.md
+++ b/src/doc/book/unsized-types.md
@@ -47,7 +47,7 @@ pointers, can use this `impl`.
 # ?Sized
 
 If you want to write a function that accepts a dynamically sized type, you
-can use the special bound, `?Sized`:
+can use the special syntax, `?Sized`:
 
 ```rust
 struct Foo<T: ?Sized> {
@@ -55,6 +55,5 @@ struct Foo<T: ?Sized> {
 }
 ```
 
-This `?`, read as “T may be `Sized`”,  means that this bound is special: it
-lets us match more kinds, not less. It’s almost like every `T` implicitly has
-`T: Sized`, and the `?` undoes this default.
+This `?Sized`, read as “T may or may not be `Sized`”, allowing us to match both constant size and unsized types.
+All generic type parameters implicitly have the `Sized` bound, so `?Sized` can be used to opt-out of the implicit bound.