class C {}
class C2 {}
class D(T:! type) {}
interface I {
fn F();
}
impl D(C) as I {
fn F() {}
}
impl D(C2) as I {
fn F() {}
}
results in an error due to a mangling collision. Because the two impls aren't generic, we appear to give them the same mangling, even though we need to include the specific ID for D in order to distinguish them.