Open
Description
trait Hello {}
impl<const N: usize> Hello for [(); N] {}
trait Foo {
type Assoc;
}
fn foo<const N: usize>()
where
<u32 as Foo>::Assoc: Hello,
u32: Foo<Assoc = [(); N]>,
{
}
I expected to see this pass.
Instead, this ICEd.
<u32 as Foo>::Assoc: Hello
is considered global, but it is not global.