1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
=== tests/cases/compiler/typeValueConflict2.ts ===
module M1 {
>M1 : typeof M1
export class A<T> {
>A : A<T>
constructor(a: T) {
>a : T
}
}
}
module M2 {
>M2 : typeof M2
var M1 = 0;
>M1 : number
>0 : 0
// Should error. M1 should bind to the variable, not to the module.
class B extends M1.A<string> {
>B : B
>M1.A : any
>M1 : number
>A : any
}
}
module M3 {
>M3 : typeof M3
// Shouldn't error
class B extends M1.A<string> {
>B : B
>M1.A : M1.A<string>
>M1 : typeof M1
>A : typeof M1.A
}
}
|