66 lines
2.5 KiB
Plaintext
66 lines
2.5 KiB
Plaintext
tests/cases/conformance/types/thisType/declarationFiles.ts(5,20): error TS2526: A 'this' type is available only in a non-static member of a class or interface.
|
|
tests/cases/conformance/types/thisType/declarationFiles.ts(31,5): error TS2527: The inferred type of 'x1' references an inaccessible 'this' type. A type annotation is necessary.
|
|
tests/cases/conformance/types/thisType/declarationFiles.ts(33,5): error TS2527: The inferred type of 'x3' references an inaccessible 'this' type. A type annotation is necessary.
|
|
tests/cases/conformance/types/thisType/declarationFiles.ts(35,5): error TS2527: The inferred type of 'f1' references an inaccessible 'this' type. A type annotation is necessary.
|
|
tests/cases/conformance/types/thisType/declarationFiles.ts(41,5): error TS2527: The inferred type of 'f3' references an inaccessible 'this' type. A type annotation is necessary.
|
|
|
|
|
|
==== tests/cases/conformance/types/thisType/declarationFiles.ts (5 errors) ====
|
|
|
|
class C1 {
|
|
x: this;
|
|
f(x: this): this { return undefined; }
|
|
constructor(x: this) { }
|
|
~~~~
|
|
!!! error TS2526: A 'this' type is available only in a non-static member of a class or interface.
|
|
}
|
|
|
|
class C2 {
|
|
[x: string]: this;
|
|
}
|
|
|
|
interface Foo<T> {
|
|
x: T;
|
|
y: this;
|
|
}
|
|
|
|
class C3 {
|
|
a: this[];
|
|
b: [this, this];
|
|
c: this | Date;
|
|
d: this & Date;
|
|
e: (((this)));
|
|
f: (x: this) => this;
|
|
g: new (x: this) => this;
|
|
h: Foo<this>;
|
|
i: Foo<this | (() => this)>;
|
|
j: (x: any) => x is this;
|
|
}
|
|
|
|
class C4 {
|
|
x1 = { a: this };
|
|
~~
|
|
!!! error TS2527: The inferred type of 'x1' references an inaccessible 'this' type. A type annotation is necessary.
|
|
x2 = [this];
|
|
x3 = [{ a: this }];
|
|
~~
|
|
!!! error TS2527: The inferred type of 'x3' references an inaccessible 'this' type. A type annotation is necessary.
|
|
x4 = () => this;
|
|
f1() {
|
|
~~
|
|
!!! error TS2527: The inferred type of 'f1' references an inaccessible 'this' type. A type annotation is necessary.
|
|
return { a: this };
|
|
}
|
|
f2() {
|
|
return [this];
|
|
}
|
|
f3() {
|
|
~~
|
|
!!! error TS2527: The inferred type of 'f3' references an inaccessible 'this' type. A type annotation is necessary.
|
|
return [{ a: this }];
|
|
}
|
|
f4() {
|
|
return () => this;
|
|
}
|
|
}
|
|
|