diff --git a/src/subtyping.md b/src/subtyping.md index 9c362a2..79b6408 100644 --- a/src/subtyping.md +++ b/src/subtyping.md @@ -183,10 +183,10 @@ to trying to explain: The types with \*'s are the ones we will be focusing on, as they are in some sense "fundamental". All the others can be understood by analogy to the others: -* Vec and all other owning pointers and collections follow the same logic as Box -* Cell and all other interior mutability types follow the same logic as UnsafeCell -* `*const` follows the logic of `&T` -* `*mut` follows the logic of `&mut T` (or `UnsafeCell`) +* `Vec` and all other owning pointers and collections follow the same logic as `Box` +* `Cell` and all other interior mutability types follow the same logic as `UnsafeCell` +* `*const T` follows the logic of `&T` +* `*mut T` follows the logic of `&mut T` (or `UnsafeCell`) > NOTE: the *only* source of contravariance in the language is the arguments to > a function, which is why it really doesn't come up much in practice. Invoking