summaryrefslogtreecommitdiffstats
path: root/src/test/ui/structs-enums/enum-discrim-range-overflow.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/structs-enums/enum-discrim-range-overflow.rs')
-rw-r--r--src/test/ui/structs-enums/enum-discrim-range-overflow.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/structs-enums/enum-discrim-range-overflow.rs b/src/test/ui/structs-enums/enum-discrim-range-overflow.rs
new file mode 100644
index 000000000..9c4c61e68
--- /dev/null
+++ b/src/test/ui/structs-enums/enum-discrim-range-overflow.rs
@@ -0,0 +1,26 @@
+// run-pass
+#![allow(overflowing_literals)]
+
+// pretty-expanded FIXME #23616
+
+pub enum E64 {
+ H64 = 0x7FFF_FFFF_FFFF_FFFF,
+ L64 = 0x8000_0000_0000_0000
+}
+pub enum E32 {
+ H32 = 0x7FFF_FFFF,
+ L32 = 0x8000_0000
+}
+
+pub fn f(e64: E64, e32: E32) -> (bool,bool) {
+ (match e64 {
+ E64::H64 => true,
+ E64::L64 => false
+ },
+ match e32 {
+ E32::H32 => true,
+ E32::L32 => false
+ })
+}
+
+pub fn main() { }