1 // Tests that we correctly handle opaque types being used opaquely,
2 // even within their defining scope.
5 #![feature(type_alias_impl_trait)]
14 // This method constrains `Foo` to be `bool`
15 fn constrained_foo() -> Foo {
20 // This method does not constrain `Foo`.
21 // Per RFC 2071, function bodies may either
22 // fully constrain an opaque type, or place no
24 fn unconstrained_foo() -> Wrapper<Foo> {