| //@ compile-flags: -Znormalize-docs | |
| #![feature(type_alias_impl_trait)] | |
| trait Allocator { | |
| type Buffer; | |
| } | |
| struct DefaultAllocator; | |
| // This unconstrained impl parameter causes the normalization of | |
| // `<DefaultAllocator as Allocator>::Buffer` to be ambiguous, | |
| // which caused an ICE with `-Znormalize-docs`. | |
| impl<T> Allocator for DefaultAllocator { | |
| //~^ ERROR: the type parameter `T` is not constrained | |
| type Buffer = (); | |
| } | |
| type A = impl Fn(<DefaultAllocator as Allocator>::Buffer); | |
| fn foo() -> A { | |
| |_| () | |
| } | |
| fn main() {} |