diff options
Diffstat (limited to 'src/test/ui/consts/const-big-enum.rs')
-rw-r--r-- | src/test/ui/consts/const-big-enum.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/ui/consts/const-big-enum.rs b/src/test/ui/consts/const-big-enum.rs new file mode 100644 index 000000000..2f21e8a6d --- /dev/null +++ b/src/test/ui/consts/const-big-enum.rs @@ -0,0 +1,30 @@ +// run-pass + +enum Foo { + Bar(u32), + Baz, + Quux(u64, u16) +} + +static X: Foo = Foo::Baz; + +pub fn main() { + match X { + Foo::Baz => {} + _ => panic!() + } + match Y { + Foo::Bar(s) => assert_eq!(s, 2654435769), + _ => panic!() + } + match Z { + Foo::Quux(d,h) => { + assert_eq!(d, 0x123456789abcdef0); + assert_eq!(h, 0x1234); + } + _ => panic!() + } +} + +static Y: Foo = Foo::Bar(2654435769); +static Z: Foo = Foo::Quux(0x123456789abcdef0, 0x1234); |