Open
Description
Summary of issue:
interface Z {
let X:! type;
}
impl {.a: (), .b: ()} as Z where .X = i32 {}
impl {.b: (), .a: ()} as Z where .X = i64 {}
fn F() {
let x: auto = 1 as ({.a: (), .b: ()} as Z).X;
let y: auto = 1 as ({.b: (), .a: ()} as Z).X;
}
Is this an error because the two impls overlap? If not, is the type of x i32
and the type of y i64
?
Details:
No response
Any other information that you want to share?
No response