// 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: type annotations needed | |
type Buffer = (); | |
} | |
type A = impl Fn(<DefaultAllocator as Allocator>::Buffer); | |
fn foo() -> A { | |
|_| () | |
} | |
fn main() {} |