Closed
Description
From the PR #25651 it looks like repr(i64) (and presumably repr(u64)) picks a 32-bit discriminant for the non C-like enum case.
Testcase was:
+#[repr(i64)]
+enum Ei64<T> {
+ _None,
+ _Some(T),
+}
+
+ assert_eq!(size_of::<Ei64<()>>(), 8);
Errored on platform auto-mac-32-opt with this:
thread '<main>' panicked at 'assertion failed:
(left == right)(left:
4, right:
8)', /Users/rustbuild/src/rust-buildbot/slave/auto-mac-32-opt/build/src/test/run-pass/enum-discrim-manual-sizing-2.rs:89