]> git.lizzy.rs Git - rust.git/blob - tests/ui/type-alias-impl-trait/coherence.rs
Rollup merge of #106716 - c410-f3r:rfc-2397-1, r=davidtwco
[rust.git] / tests / ui / type-alias-impl-trait / coherence.rs
1 // aux-build:foreign-crate.rs
2 #![feature(type_alias_impl_trait)]
3
4 extern crate foreign_crate;
5
6 trait LocalTrait {}
7 impl<T> LocalTrait for foreign_crate::ForeignType<T> {}
8
9 type AliasOfForeignType<T> = impl LocalTrait;
10 fn use_alias<T>(val: T) -> AliasOfForeignType<T> {
11     foreign_crate::ForeignType(val)
12 }
13
14 impl<T> foreign_crate::ForeignTrait for AliasOfForeignType<T> {}
15 //~^ ERROR only traits defined in the current crate can be implemented for arbitrary types
16
17 fn main() {}