diff options
Diffstat (limited to 'tests/codegen/enum/enum-debug-niche-2.rs')
| -rw-r--r-- | tests/codegen/enum/enum-debug-niche-2.rs | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/tests/codegen/enum/enum-debug-niche-2.rs b/tests/codegen/enum/enum-debug-niche-2.rs deleted file mode 100644 index 80a4081f15b..00000000000 --- a/tests/codegen/enum/enum-debug-niche-2.rs +++ /dev/null @@ -1,47 +0,0 @@ -//! This tests that optimized enum debug info accurately reflects the enum layout. -//! This is ignored for the fallback mode on MSVC due to problems with PDB. -//! -//@ compile-flags: -g -C no-prepopulate-passes -//@ ignore-msvc -// -// CHECK: {{.*}}DICompositeType{{.*}}tag: DW_TAG_variant_part,{{.*}}size: 32,{{.*}} -// CHECK: {{.*}}DIDerivedType{{.*}}tag: DW_TAG_member,{{.*}}name: "Placeholder",{{.*}}extraData: i32 -1{{[,)].*}} -// CHECK: {{.*}}DIDerivedType{{.*}}tag: DW_TAG_member,{{.*}}name: "Error",{{.*}}extraData: i32 0{{[,)].*}} -#![feature(never_type)] - -#[derive(Copy, Clone)] -pub struct Entity { - private: std::num::NonZero<u32>, -} - -#[derive(Copy, Clone, PartialEq, Eq)] -pub struct Declaration; - -impl TypeFamily for Declaration { - type Base = Base; - type Placeholder = !; - - fn intern_base_data(_: BaseKind<Self>) {} -} - -#[derive(Copy, Clone)] -pub struct Base; - -pub trait TypeFamily: Copy + 'static { - type Base: Copy; - type Placeholder: Copy; - - fn intern_base_data(_: BaseKind<Self>); -} - -#[derive(Copy, Clone)] -pub enum BaseKind<F: TypeFamily> { - Named(Entity), - Placeholder(F::Placeholder), - Error, -} - -pub fn main() { - let x = BaseKind::Error::<Declaration>; - let y = 7; -} |
