26 lines
520 B
Rust
26 lines
520 B
Rust
// 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() {}
|