1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
//@ revisions: classic next
//@[next] compile-flags: -Znext-solver
//@ check-pass
//@ compile-flags: --crate-type=lib
//@ aux-crate:foreign=parametrized-trait.rs
//@ edition:2021
trait Trait<T, U> { type Assoc; }
impl<T, U> Trait<T, U> for () {
type Assoc = LocalTy;
}
struct LocalTy;
impl<T, U> foreign::Trait0<LocalTy, T, U> for <() as Trait<T, U>>::Assoc {}
//~^ WARNING type parameter `T` must be covered by another type
//~| WARNING this was previously accepted by the compiler
//~| WARNING type parameter `U` must be covered by another type
//~| WARNING this was previously accepted by the compiler
fn main() {}
|