Rust Container Cheat Sheet
from snaggen@programming.dev to rust@programming.dev on 26 Jun 2024 10:52
https://programming.dev/post/16059115
from snaggen@programming.dev to rust@programming.dev on 26 Jun 2024 10:52
https://programming.dev/post/16059115
Found this on Mastodon fosstodon.org/@dpom/112681955888465502 , and it is a very nice overview of the containers and their layout.
threaded - newest
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]
.This is outdatded. Mutexes don’t allocate anymore. That’s how
Mutex::new
can be const.