//@ revisions: current next //@[next] compile-flags: -Znext-solver //@ ignore-compare-mode-next-solver (explicit revisions) //@ check-pass // Regression test for trait-system-refactor-initiative#205. Avoid constraining // the opaque type when applying blanket impls. trait Trait {} impl Trait for T {} impl Trait for u64 {} fn impls_trait, U>() -> T { todo!() } fn foo() -> impl Sized { if false { // `opaque: Trait` shouldn't constrain `opaque` to `u32` via the blanket impl return impls_trait::<_, u32>(); } 1u64 } fn main() {}