2 // Issue 23030: Workaround overflowing discriminant
3 // with explicit assignments.
5 // See also compile-fail/overflow-discrim.rs, which shows what
6 // happens if you leave the OhNo explicit cases out here.
8 use std::{i8,u8,i16,u16,i32,u32,i64,u64,isize,usize};
20 let _x = (A::Ok, A::Ok2, A::OhNo);
21 let z = (A::NotTheEnd, A::Zero).1 as i8;
33 let _x = (A::Ok, A::Ok2, A::OhNo);
46 let _x = (A::Ok, A::Ok2, A::OhNo);
47 let z = (A::NotTheEnd, A::Zero).1 as i16;
59 let _x = (A::Ok, A::Ok2, A::OhNo);
72 let _x = (A::Ok, A::Ok2, A::OhNo);
73 let z = (A::NotTheEnd, A::Zero).1 as i32;
85 let _x = (A::Ok, A::Ok2, A::OhNo);
98 let _x = (A::Ok, A::Ok2, A::OhNo);
99 let z = (A::NotTheEnd, A::Zero).1 as i64;
111 let _x = (A::Ok, A::Ok2, A::OhNo);
124 let _x = (A::Ok, A::Ok2, A::OhNo);
125 let z = (A::NotTheEnd, A::Zero).1 as isize;
137 let _x = (A::Ok, A::Ok2, A::OhNo);
146 f_isize(); f_usize();