diff options
Diffstat (limited to 'tests/ui/enum-discriminant/issue-70509-partial_eq.rs')
-rw-r--r-- | tests/ui/enum-discriminant/issue-70509-partial_eq.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/ui/enum-discriminant/issue-70509-partial_eq.rs b/tests/ui/enum-discriminant/issue-70509-partial_eq.rs new file mode 100644 index 000000000..3adac7b72 --- /dev/null +++ b/tests/ui/enum-discriminant/issue-70509-partial_eq.rs @@ -0,0 +1,18 @@ +// run-pass +#![feature(repr128)] +//~^ WARN the feature `repr128` is incomplete + +#[derive(PartialEq, Debug)] +#[repr(i128)] +enum Test { + A(Box<u64>) = 0, + B(usize) = u64::MAX as i128 + 1, +} + +fn main() { + assert_ne!(Test::A(Box::new(2)), Test::B(0)); + // This previously caused a segfault. + // + // See https://github.com/rust-lang/rust/issues/70509#issuecomment-620654186 + // for a detailed explanation. +} |