forall self.
class self:C {
function size(x:self) -> word;
}
instance ():C {
function size(x:()) -> word {
return 0;
}
}
instance uint:C {
function size(x:uint) -> word {
return 1;
}
}
Rather than complain about `uint, as it should, the typechecker issues a head-scratching error:
Overlapping instances are not supported
instance:
?$3 : C
overlaps with:
() : C
- in:instance uint : C {
function size (x : uint) -> word {
return 1;
}
}