// Test that encountering closures during coherence does not cause issues. #![feature(type_alias_impl_trait, coroutines)] #![cfg_attr(specialized, feature(specialization))] #![allow(incomplete_features)] //@ revisions: stock specialized //@ [specialized]check-pass type OpaqueCoroutine = impl Sized; fn defining_use() -> OpaqueCoroutine { #[coroutine] || { for i in 0..10 { yield i; } } } struct Wrapper(T); trait Trait {} impl Trait for Wrapper {} impl Trait for Wrapper {} //[stock]~^ ERROR conflicting implementations of trait `Trait` for type `Wrapper` fn main() {}