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 40 41 42 43 44 45
|
tests/cases/compiler/classTypeParametersInStatics.ts(12,40): error TS2302: Static members cannot reference class type parameters.
tests/cases/compiler/classTypeParametersInStatics.ts(13,29): error TS2302: Static members cannot reference class type parameters.
tests/cases/compiler/classTypeParametersInStatics.ts(13,43): error TS2302: Static members cannot reference class type parameters.
==== tests/cases/compiler/classTypeParametersInStatics.ts (3 errors) ====
module Editor {
export class List<T> {
public next: List<T>;
public prev: List<T>;
constructor(public isHead: boolean, public data: T) {
}
public static MakeHead(): List<T> { // should error
~
!!! error TS2302: Static members cannot reference class type parameters.
var entry: List<T> = new List<T>(true, null);
~
!!! error TS2302: Static members cannot reference class type parameters.
~
!!! error TS2302: Static members cannot reference class type parameters.
entry.prev = entry;
entry.next = entry;
return entry;
}
public static MakeHead2<T>(): List<T> { // should not error
var entry: List<T> = new List<T>(true, null);
entry.prev = entry;
entry.next = entry;
return entry;
}
public static MakeHead3<U>(): List<U> { // should not error
var entry: List<U> = new List<U>(true, null);
entry.prev = entry;
entry.next = entry;
return entry;
}
}
}
|