diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/lint/lint-ctypes-73251-1.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/lint/lint-ctypes-73251-1.rs b/src/test/ui/lint/lint-ctypes-73251-1.rs new file mode 100644 index 000000000..145ba784f --- /dev/null +++ b/src/test/ui/lint/lint-ctypes-73251-1.rs @@ -0,0 +1,26 @@ +#![feature(type_alias_impl_trait)] +#![deny(improper_ctypes)] + +pub trait Baz {} + +impl Baz for u32 {} + +type Qux = impl Baz; + +pub trait Foo { + type Assoc; +} + +impl Foo for u32 { + type Assoc = Qux; +} + +fn assign() -> Qux { + 1 +} + +extern "C" { + pub fn lint_me() -> <u32 as Foo>::Assoc; //~ ERROR: uses type `Qux` +} + +fn main() {} |