From e3812150ddc825f9b744adafe8e41897ff86c0d8 Mon Sep 17 00:00:00 2001 From: Youngsuk Kim Date: Mon, 17 Feb 2020 11:12:30 -0500 Subject: [PATCH] follow-up to review from Centril --- src/subtyping.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/subtyping.md b/src/subtyping.md index d253daf..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