Why does it say where T: Sized for references &T? A reference can definitely point to an unsized type, e.g. &str.
I think the point being made is that the layout shown only applies for SizedT. Layouts for &[T] and &dyn Trait are shown elsewhere on the sheet. &str is noted under &[T].
Edit: although, similar considerations would apply to other pointer types, but that isn't noted on the sheet except for Box<[T]>
Nice sheet, though I have a few critiques:
where T: Sizedfor references&T? A reference can definitely point to an unsized type, e.g.&str.&T,&[T]and&dyn Trait) may either point to the stack or the heap.I think the point being made is that the layout shown only applies for
SizedT. Layouts for&[T]and&dyn Traitare shown elsewhere on the sheet.&stris noted under&[T].Edit: although, similar considerations would apply to other pointer types, but that isn't noted on the sheet except for
Box<[T]>Because when
Tis!Sized, the layout is different, it looks more like the layout of&[T].This is outdatded. Mutexes don't allocate anymore. That's how
Mutex::newcan be const.