// Projections cover type parameters if they normalize to a (local) type that covers them. // This ensures that we don't perform an overly strict check on // projections like in closed PR #100555 which did a syntactic // check for type parameters in projections without normalizing // first which would've lead to real-word regressions. //@ check-pass //@ revisions: classic next //@[next] compile-flags: -Znext-solver //@ aux-crate:foreign=parametrized-trait.rs //@ edition:2021 trait Project { type Output; } impl Project for Wrapper { type Output = Local; } struct Wrapper(T); struct Local; impl foreign::Trait1 for as Project>::Output {} fn main() {}