|  | // ignore-tidy-linelength | 
|  | //! Checks that visibility information is present in the debuginfo for super-visibility enums. | 
|  |  | 
|  | //@ revisions: MSVC NONMSVC | 
|  | //@[MSVC] only-msvc | 
|  | //@[NONMSVC] ignore-msvc | 
|  | //@ compile-flags: -C debuginfo=2 | 
|  |  | 
|  | mod module { | 
|  | use std::hint::black_box; | 
|  |  | 
|  | pub(super) enum SuperFooEnum { | 
|  | A, | 
|  | B(u32), | 
|  | C { x: u32 }, | 
|  | } | 
|  |  | 
|  | // NONMSVC: {{!.*}} = !DICompositeType(tag: DW_TAG_structure_type, name: "SuperFooEnum"{{.*}}flags: DIFlagProtected{{.*}}) | 
|  | // MSVC: {{!.*}} = !DICompositeType(tag: DW_TAG_union_type, name: "enum2$<super_enum::module::SuperFooEnum>"{{.*}}flags: DIFlagProtected{{.*}}) | 
|  |  | 
|  | pub fn use_everything() { | 
|  | black_box(SuperFooEnum::A); | 
|  | } | 
|  | } | 
|  |  | 
|  | fn main() { | 
|  | module::use_everything(); | 
|  | } |