Found this on Mastodon https://fosstodon.org/@dpom/112681955888465502 , and it is a very nice overview of the containers and their layout.
Found this on Mastodon https://fosstodon.org/@dpom/112681955888465502 , and it is a very nice overview of the containers and their layout.
Nice sheet, though I have a few critiques:
where T: Sized
for 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
Sized
T
. 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]>
Because when
T
is!Sized
, the layout is different, it looks more like the layout of&[T]
.