diff options
Diffstat (limited to 'src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs')
-rw-r--r-- | src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs b/src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs new file mode 100644 index 000000000..d97270c31 --- /dev/null +++ b/src/test/ui/type-alias-impl-trait/issue-66580-closure-coherence.rs @@ -0,0 +1,21 @@ +// Regression test for issue #66580 +// Ensures that we don't try to determine whether a closure +// is foreign when it's the underlying type of an opaque type +// check-pass +#![feature(type_alias_impl_trait)] + +type Closure = impl FnOnce(); + +fn closure() -> Closure { + || {} +} + +struct Wrap<T> { + f: T, +} + +impl Wrap<Closure> {} + +impl<T> Wrap<T> {} + +fn main() {} |