diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/rfc-2008-non-exhaustive/enum-as-cast.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/ui/rfc-2008-non-exhaustive/enum-as-cast.rs b/src/test/ui/rfc-2008-non-exhaustive/enum-as-cast.rs new file mode 100644 index 000000000..d9657bac7 --- /dev/null +++ b/src/test/ui/rfc-2008-non-exhaustive/enum-as-cast.rs @@ -0,0 +1,17 @@ +// aux-build:enums.rs +// run-pass + +extern crate enums; + +use enums::FieldLessWithNonExhaustiveVariant; + +fn main() { + let e = FieldLessWithNonExhaustiveVariant::default(); + // FIXME: https://github.com/rust-lang/rust/issues/91161 + // This `as` cast *should* be an error, since it would fail + // if the non-exhaustive variant got fields. But today it + // doesn't. The fix for that will update this test to + // show an error (and not be run-pass any more). + let d = e as u8; + assert_eq!(d, 0); +} |