129 lines
No EOL
4.9 KiB
Text
129 lines
No EOL
4.9 KiB
Text
tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts(3,7): error TS2304: Cannot find name 'window'.
|
|
tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts(3,7): error TS2410: All symbols within a 'with' block will be resolved to 'any'.
|
|
tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts(19,1): error TS2304: Cannot find name 'window'.
|
|
tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts(31,9): error TS2322: Type '() => number' is not assignable to type 'E'.
|
|
tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts(32,16): error TS2332: 'this' cannot be referenced in current location.
|
|
tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts(44,11): error TS2304: Cannot find name 'window'.
|
|
tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts(44,11): error TS2410: All symbols within a 'with' block will be resolved to 'any'.
|
|
tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts(60,5): error TS2304: Cannot find name 'window'.
|
|
tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts(72,13): error TS2322: Type '() => number' is not assignable to type 'E'.
|
|
tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts(73,20): error TS2332: 'this' cannot be referenced in current location.
|
|
|
|
|
|
==== tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts (10 errors) ====
|
|
|
|
// Arrow function used in with statement
|
|
with (window) {
|
|
~~~~~~
|
|
!!! error TS2304: Cannot find name 'window'.
|
|
~~~~~~
|
|
!!! error TS2410: All symbols within a 'with' block will be resolved to 'any'.
|
|
var p = () => this;
|
|
}
|
|
|
|
// Arrow function as argument to super call
|
|
class Base {
|
|
constructor(n: any) { }
|
|
}
|
|
|
|
class Derived extends Base {
|
|
constructor() {
|
|
super(() => this);
|
|
}
|
|
}
|
|
|
|
// Arrow function as function argument
|
|
window.setTimeout(() => null, 100);
|
|
~~~~~~
|
|
!!! error TS2304: Cannot find name 'window'.
|
|
|
|
// Arrow function as value in array literal
|
|
|
|
var obj = (n: number) => '';
|
|
var obj: { (n: number): string; }; // OK
|
|
|
|
var arr = [(n: number) => ''];
|
|
var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597)
|
|
|
|
// Arrow function as enum value
|
|
enum E {
|
|
x = () => 4, // Error expected
|
|
~~~~~~~
|
|
!!! error TS2322: Type '() => number' is not assignable to type 'E'.
|
|
y = (() => this).length // error, can't use this in enum
|
|
~~~~
|
|
!!! error TS2332: 'this' cannot be referenced in current location.
|
|
}
|
|
|
|
// Arrow function as module variable initializer
|
|
module M {
|
|
export var a = (s) => '';
|
|
var b = (s) => s;
|
|
}
|
|
|
|
// Repeat above for module members that are functions? (necessary to redo all of them?)
|
|
module M2 {
|
|
// Arrow function used in with statement
|
|
with (window) {
|
|
~~~~~~
|
|
!!! error TS2304: Cannot find name 'window'.
|
|
~~~~~~
|
|
!!! error TS2410: All symbols within a 'with' block will be resolved to 'any'.
|
|
var p = () => this;
|
|
}
|
|
|
|
// Arrow function as argument to super call
|
|
class Base {
|
|
constructor(n: any) { }
|
|
}
|
|
|
|
class Derived extends Base {
|
|
constructor() {
|
|
super(() => this);
|
|
}
|
|
}
|
|
|
|
// Arrow function as function argument
|
|
window.setTimeout(() => null, 100);
|
|
~~~~~~
|
|
!!! error TS2304: Cannot find name 'window'.
|
|
|
|
// Arrow function as value in array literal
|
|
|
|
var obj = (n: number) => '';
|
|
var obj: { (n: number): string; }; // OK
|
|
|
|
var arr = [(n: number) => ''];
|
|
var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597)
|
|
|
|
// Arrow function as enum value
|
|
enum E {
|
|
x = () => 4, // Error expected
|
|
~~~~~~~
|
|
!!! error TS2322: Type '() => number' is not assignable to type 'E'.
|
|
y = (() => this).length
|
|
~~~~
|
|
!!! error TS2332: 'this' cannot be referenced in current location.
|
|
}
|
|
|
|
// Arrow function as module variable initializer
|
|
module M {
|
|
export var a = (s) => '';
|
|
var b = (s) => s;
|
|
}
|
|
|
|
}
|
|
|
|
// <Identifier>(ParamList) => { ... } is a generic arrow function
|
|
var generic1 = <T>(n: T) => [n];
|
|
var generic1: { <T>(n: T): T[] }; // Incorrect error, Bug 829597
|
|
var generic2 = <T>(n: T) => { return [n]; };
|
|
var generic2: { <T>(n: T): T[] };
|
|
|
|
// <Identifier> ((ParamList) => { ... } ) is a type assertion to an arrow function
|
|
var asserted1 = <any>((n) => [n]);
|
|
var asserted1: any;
|
|
var asserted2 = <any>((n) => { return n; });
|
|
var asserted2: any;
|
|
|
|
|