struct_scalpel
Memory layout analysis tool for rust structs, enums, unions, tuples, and references, prints to console using ansi escape codes.
Simply derive Dissectible
and call print_dissection_info
to get a well formatted overview.
use ;
With dissect_std
you can even disect some std items, with only a few type path deviations for private types.
- String
- Option
- Result<T, E>
- Box<T, A: Allocator>
- Rc
- cell
- UnsafeCell
- Cell
- RefCell
- OnceCell
- sync
- OnceLock
Disclaimer: This may not work in all cases, such as where some fields are unsized or dependant on a sys (os) implementation
This also works with generics and different layout strategies