1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#![feature(type_alias_impl_trait)] #![allow(dead_code)] use std::fmt::Debug; type FooX = impl Debug; //~^ ERROR unconstrained opaque type trait Foo<A> { } impl Foo<FooX> for () { } fn foo() -> impl Foo<FooX> { () } fn main() { }