// Test that encountering closures during coherence does not cause issues. #![feature(type_alias_impl_trait)] type OpaqueClosure = impl Sized; fn defining_use() -> OpaqueClosure { || () } struct Wrapper(T); trait Trait {} impl Trait for Wrapper {} impl Trait for Wrapper {} //~^ ERROR conflicting implementations of trait `Trait` for type `Wrapper` fn main() {}