Closed
Description
My situation (#3067):
interface A {
x: string;
}
interface B {
x: string;
y: string;
}
function copyB(value: B): B {
return undefined;
}
var values: A[] = [];
values.map(copyB); // <-- unsound assigment
I've managed to get an AST and a type checker. I am holding a reference to the argument (copyB from above) object.
Can anyone outline the steps that need to be taken to determine that the assignment from the example is unsound using the public compiler API?