From #12005 (comment)
We can sometimes get into a state where we issue errors that appear to be nonsense:
interfaceT{}declareconsta: T;classFoo<T>{x: T;fn(){this.x=a;}}
When two types have the same spellings according to typeToString, we should issue a more specific error, e.g.
"Type T is not assignable to type T. Two different types with this name exist, but they are unrelated."
From #12005 (comment)
We can sometimes get into a state where we issue errors that appear to be nonsense:
When two types have the same spellings according to
typeToString, we should issue a more specific error, e.g.