I'm really starting to appreciate that the into_parts/into_raw_parts idiom (and the from_parts/from_raw_parts converses) addresses a lot of the downsides of data access/visibility control without giving up the data abstraction that's needed for functional correctness and/or memory safety of abstract data types. It would be nice if they were more universally implemented, but I guess the biggest concern is semver.
@pervognsen
Thanks for the explanation! I have been using rust for a bit and didn't know about these nightly features, glad to know of them now! I guess I have not had the need for more raw memory access that these seem to enable.