mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-04 19:12:50 +00:00
Rebase fallout
This commit is contained in:
parent
97633f814d
commit
34f7fcb862
@ -76,7 +76,10 @@ pub fn encode_with_shorthand<E, T, M>(encoder: &mut E,
|
||||
|
||||
// The shorthand encoding uses the same usize as the
|
||||
// discriminant, with an offset so they can't conflict.
|
||||
#[cfg(bootstrap)]
|
||||
let discriminant = unsafe { intrinsics::discriminant_value(variant) };
|
||||
#[cfg(not(bootstrap))]
|
||||
let discriminant = intrinsics::discriminant_value(variant);
|
||||
assert!(discriminant < SHORTHAND_OFFSET as u64);
|
||||
let shorthand = start + SHORTHAND_OFFSET;
|
||||
|
||||
|
@ -51,34 +51,31 @@ enum Mixed {
|
||||
}
|
||||
|
||||
pub fn main() {
|
||||
unsafe {
|
||||
assert_eq!(discriminant_value(&CLike1::A), 0);
|
||||
assert_eq!(discriminant_value(&CLike1::B), 1);
|
||||
assert_eq!(discriminant_value(&CLike1::C), 2);
|
||||
assert_eq!(discriminant_value(&CLike1::D), 3);
|
||||
|
||||
assert_eq!(discriminant_value(&CLike1::A), 0);
|
||||
assert_eq!(discriminant_value(&CLike1::B), 1);
|
||||
assert_eq!(discriminant_value(&CLike1::C), 2);
|
||||
assert_eq!(discriminant_value(&CLike1::D), 3);
|
||||
assert_eq!(discriminant_value(&CLike2::A), 5);
|
||||
assert_eq!(discriminant_value(&CLike2::B), 2);
|
||||
assert_eq!(discriminant_value(&CLike2::C), 19);
|
||||
assert_eq!(discriminant_value(&CLike2::D), 20);
|
||||
|
||||
assert_eq!(discriminant_value(&CLike2::A), 5);
|
||||
assert_eq!(discriminant_value(&CLike2::B), 2);
|
||||
assert_eq!(discriminant_value(&CLike2::C), 19);
|
||||
assert_eq!(discriminant_value(&CLike2::D), 20);
|
||||
assert_eq!(discriminant_value(&CLike3::A), 5);
|
||||
assert_eq!(discriminant_value(&CLike3::B), 6);
|
||||
assert_eq!(discriminant_value(&CLike3::C), -1_i8 as u64);
|
||||
assert_eq!(discriminant_value(&CLike3::D), 0);
|
||||
|
||||
assert_eq!(discriminant_value(&CLike3::A), 5);
|
||||
assert_eq!(discriminant_value(&CLike3::B), 6);
|
||||
assert_eq!(discriminant_value(&CLike3::C), -1_i8 as u64);
|
||||
assert_eq!(discriminant_value(&CLike3::D), 0);
|
||||
assert_eq!(discriminant_value(&ADT::First(0,0)), 0);
|
||||
assert_eq!(discriminant_value(&ADT::Second(5)), 1);
|
||||
|
||||
assert_eq!(discriminant_value(&ADT::First(0,0)), 0);
|
||||
assert_eq!(discriminant_value(&ADT::Second(5)), 1);
|
||||
assert_eq!(discriminant_value(&NullablePointer::Nothing), 1);
|
||||
assert_eq!(discriminant_value(&NullablePointer::Something(&CONST)), 0);
|
||||
|
||||
assert_eq!(discriminant_value(&NullablePointer::Nothing), 1);
|
||||
assert_eq!(discriminant_value(&NullablePointer::Something(&CONST)), 0);
|
||||
assert_eq!(discriminant_value(&10), 0);
|
||||
assert_eq!(discriminant_value(&"test"), 0);
|
||||
|
||||
assert_eq!(discriminant_value(&10), 0);
|
||||
assert_eq!(discriminant_value(&"test"), 0);
|
||||
|
||||
assert_eq!(3, discriminant_value(&Mixed::Unit));
|
||||
assert_eq!(2, discriminant_value(&Mixed::Tuple(5)));
|
||||
assert_eq!(1, discriminant_value(&Mixed::Struct{a: 7, b: 11}));
|
||||
}
|
||||
assert_eq!(3, discriminant_value(&Mixed::Unit));
|
||||
assert_eq!(2, discriminant_value(&Mixed::Tuple(5)));
|
||||
assert_eq!(1, discriminant_value(&Mixed::Struct{a: 7, b: 11}));
|
||||
}
|
||||
|
@ -7,9 +7,7 @@
|
||||
enum Big { A, B }
|
||||
|
||||
fn main() {
|
||||
unsafe {
|
||||
println!("{} {:?}",
|
||||
std::intrinsics::discriminant_value(&Big::A),
|
||||
std::mem::discriminant(&Big::B));
|
||||
}
|
||||
println!("{} {:?}",
|
||||
std::intrinsics::discriminant_value(&Big::A),
|
||||
std::mem::discriminant(&Big::B));
|
||||
}
|
||||
|
@ -14,5 +14,5 @@ fn main() {
|
||||
assert_eq!(1, make_b() as u8);
|
||||
assert_eq!(1, make_b() as i32);
|
||||
assert_eq!(1, make_b() as u32);
|
||||
assert_eq!(1, unsafe { std::intrinsics::discriminant_value(&make_b()) });
|
||||
assert_eq!(1, std::intrinsics::discriminant_value(&make_b()));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user