1
Fork 0

Rollup merge of #123168 - joshtriplett:size-of-prelude, r=Amanieu

Add `size_of` and `size_of_val` and `align_of` and `align_of_val` to the prelude

(Note: need to update the PR to add `align_of` and `align_of_val`, and remove the second commit with the myriad changes to appease the lint.)

Many, many projects use `size_of` to get the size of a type. However,
it's also often equally easy to hardcode a size (e.g. `8` instead of
`size_of::<u64>()`). Minimizing friction in the use of `size_of` helps
ensure that people use it and make code more self-documenting.

The name `size_of` is unambiguous: the name alone, without any prefix or
path, is self-explanatory and unmistakeable for any other functionality.
Adding it to the prelude cannot produce any name conflicts, as any local
definition will silently shadow the one from the prelude. Thus, we don't
need to wait for a new edition prelude to add it.
This commit is contained in:
Jubilee 2024-06-05 01:14:29 -07:00 committed by GitHub
commit 9ccc7b78ec
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 22 additions and 23 deletions

View file

@ -104,7 +104,6 @@
use super::{Custom, ErrorData, ErrorKind, RawOsError, SimpleMessage};
use core::marker::PhantomData;
use core::mem::{align_of, size_of};
use core::ptr::{self, NonNull};
// The 2 least-significant bits are used as tag.