1 // revisions: edition2015 edition2021
2 // [edition2015]compile-flags: --edition=2015
3 // [edition2021]compile-flags: --edition=2021
5 #![feature(extern_types)]
6 #![feature(cfg_accessible)]
8 // Struct::unresolved - error
14 #[cfg_accessible(Struct::existing)] //~ ERROR not sure
16 #[cfg_accessible(Struct::unresolved)] //~ ERROR not sure
19 // Union::unresolved - error
25 #[cfg_accessible(Union::existing)] //~ ERROR not sure
27 #[cfg_accessible(Union::unresolved)] //~ ERROR not sure
30 // Enum::unresolved - error
33 Existing { existing: u8 },
36 #[cfg_accessible(Enum::Existing::existing)] //~ ERROR not sure
38 #[cfg_accessible(Enum::Existing::unresolved)] //~ ERROR not sure
40 #[cfg_accessible(Enum::unresolved)] //~ ERROR not sure
43 // Trait::unresolved - false or error, depending on edition (error if you can write Trait::foo
44 // instead of <dyn Trait>::foo for methods like impl dyn Trait { fn foo() {} })
47 impl dyn Trait { fn existing() {} }
49 // FIXME: Should be an error for edition > 2015
50 #[cfg_accessible(Trait::existing)] //~ ERROR not sure
52 #[cfg_accessible(Trait::unresolved)] //~ ERROR not sure
55 // TypeAlias::unresolved - error
57 type TypeAlias = Struct;
59 #[cfg_accessible(TypeAlias::existing)] //~ ERROR not sure
61 #[cfg_accessible(TypeAlias::unresolved)] //~ ERROR not sure
64 // ForeignType::unresolved - error
70 #[cfg_accessible(ForeignType::unresolved)] //~ ERROR not sure
73 // AssocType::unresolved - error
79 #[cfg_accessible(AssocType::AssocType::unresolved)] //~ ERROR not sure
82 // PrimitiveType::unresolved - error
84 #[cfg_accessible(u8::unresolved)] //~ ERROR not sure
86 #[cfg_accessible(u8::is_ascii)] //~ ERROR not sure