2022-10-21 13:53:27 -05:00
|
|
|
//@ 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 {
|
2024-02-15 11:12:05 -06:00
|
|
|
//~^ ERROR: the type parameter `T` is not constrained
|
2022-10-21 13:53:27 -05:00
|
|
|
type Buffer = ();
|
|
|
|
}
|
|
|
|
|
|
|
|
type A = impl Fn(<DefaultAllocator as Allocator>::Buffer);
|
|
|
|
|
|
|
|
fn foo() -> A {
|
|
|
|
|_| ()
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|