diff options
| author | bors <bors@rust-lang.org> | 2019-06-25 15:12:11 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-06-25 15:12:11 +0000 |
| commit | 303f77ee1d60e1b351ff6478143dd866403c27f5 (patch) | |
| tree | 349f1f0c4084a7097d55dac1840a42d3ecad6349 /src/test/run-pass | |
| parent | 40ab9d2bd57a2203131abd723f7120e960299fae (diff) | |
| parent | ac98342e846e79985f0c4969a2d546dee24a70d1 (diff) | |
Auto merge of #60732 - jswrenn:arbitrary_enum_discriminant, r=pnkfelix
Implement arbitrary_enum_discriminant Implements RFC rust-lang/rfcs#2363 (tracking issue #60553).
Diffstat (limited to 'src/test/run-pass')
| -rw-r--r-- | src/test/run-pass/discriminant_value-wrapper.rs | 15 | ||||
| -rw-r--r-- | src/test/run-pass/discriminant_value.rs | 68 |
2 files changed, 0 insertions, 83 deletions
diff --git a/src/test/run-pass/discriminant_value-wrapper.rs b/src/test/run-pass/discriminant_value-wrapper.rs deleted file mode 100644 index 1fb0d1edddf..00000000000 --- a/src/test/run-pass/discriminant_value-wrapper.rs +++ /dev/null @@ -1,15 +0,0 @@ -use std::mem; - -enum ADT { - First(u32, u32), - Second(u64) -} - -pub fn main() { - assert!(mem::discriminant(&ADT::First(0,0)) == mem::discriminant(&ADT::First(1,1))); - assert!(mem::discriminant(&ADT::Second(5)) == mem::discriminant(&ADT::Second(6))); - assert!(mem::discriminant(&ADT::First(2,2)) != mem::discriminant(&ADT::Second(2))); - - let _ = mem::discriminant(&10); - let _ = mem::discriminant(&"test"); -} diff --git a/src/test/run-pass/discriminant_value.rs b/src/test/run-pass/discriminant_value.rs deleted file mode 100644 index 162ab27cdff..00000000000 --- a/src/test/run-pass/discriminant_value.rs +++ /dev/null @@ -1,68 +0,0 @@ -#![allow(stable_features)] -#![feature(core, core_intrinsics)] - -extern crate core; -use core::intrinsics::discriminant_value; - -enum CLike1 { - A, - B, - C, - D -} - -enum CLike2 { - A = 5, - B = 2, - C = 19, - D -} - -#[repr(i8)] -enum CLike3 { - A = 5, - B, - C = -1, - D -} - -enum ADT { - First(u32, u32), - Second(u64) -} - -enum NullablePointer { - Something(&'static u32), - Nothing -} - -static CONST : u32 = 0xBEEF; - -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(&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(&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(&10), 0); - assert_eq!(discriminant_value(&"test"), 0); - } -} |
