You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I can't really see how ByteTendril still has the expected size, but Option<ByteTendril> is now 50% bigger. Unless ... Rust 1.64.0 no longer does "niche" optimization for the Option in this case? I can see how it might be "tempting" to assign a niche for None to the case where the ptr: Cell<NonZeroUsize> is actually zero - but can this ever be correct for a repr(C) struct? I don't see anything that might be related to this problem in the Rust 1.64.0 release notes.
The text was updated successfully, but these errors were encountered:
Looks like the expected size of
ByteTendril
has changed with Rust 1.64.0:Line src/tendril.rs:1704 points at this assert:
assert_eq!(correct, mem::size_of::<Option<ByteTendril>>());
The same test passes with Rust 1.63 and earlier.
I can't really see how
ByteTendril
still has the expected size, butOption<ByteTendril>
is now 50% bigger. Unless ... Rust 1.64.0 no longer does "niche" optimization for theOption
in this case? I can see how it might be "tempting" to assign a niche forNone
to the case where theptr: Cell<NonZeroUsize>
is actually zero - but can this ever be correct for arepr(C)
struct? I don't see anything that might be related to this problem in the Rust 1.64.0 release notes.The text was updated successfully, but these errors were encountered: