|  | //@ 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() {} |