c96b472e0b
* Handle localness in special cases by checking exported variable assignment Fixes #42976 * Fix existing tests where arrow now behaves similar to function expression * Update src/services/goToDefinition.ts
82 lines
4.5 KiB
Plaintext
82 lines
4.5 KiB
Plaintext
tests/cases/compiler/implicitAnyFromCircularInference.ts(2,5): error TS2502: 'a' is referenced directly or indirectly in its own type annotation.
|
|
tests/cases/compiler/implicitAnyFromCircularInference.ts(5,5): error TS2502: 'b' is referenced directly or indirectly in its own type annotation.
|
|
tests/cases/compiler/implicitAnyFromCircularInference.ts(6,5): error TS2502: 'c' is referenced directly or indirectly in its own type annotation.
|
|
tests/cases/compiler/implicitAnyFromCircularInference.ts(9,5): error TS2502: 'd' is referenced directly or indirectly in its own type annotation.
|
|
tests/cases/compiler/implicitAnyFromCircularInference.ts(14,10): error TS7023: 'g' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
|
|
tests/cases/compiler/implicitAnyFromCircularInference.ts(17,5): error TS7023: 'f1' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
|
|
tests/cases/compiler/implicitAnyFromCircularInference.ts(22,5): error TS7023: 'f2' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
|
|
tests/cases/compiler/implicitAnyFromCircularInference.ts(25,10): error TS7023: 'h' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
|
|
tests/cases/compiler/implicitAnyFromCircularInference.ts(27,14): error TS7023: 'foo' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
|
|
tests/cases/compiler/implicitAnyFromCircularInference.ts(45,9): error TS7023: 'x' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
|
|
|
|
|
|
==== tests/cases/compiler/implicitAnyFromCircularInference.ts (10 errors) ====
|
|
// Error expected
|
|
var a: typeof a;
|
|
~
|
|
!!! error TS2502: 'a' is referenced directly or indirectly in its own type annotation.
|
|
|
|
// Error expected on b or c
|
|
var b: typeof c;
|
|
~
|
|
!!! error TS2502: 'b' is referenced directly or indirectly in its own type annotation.
|
|
var c: typeof b;
|
|
~
|
|
!!! error TS2502: 'c' is referenced directly or indirectly in its own type annotation.
|
|
|
|
// Error expected
|
|
var d: Array<typeof d>;
|
|
~
|
|
!!! error TS2502: 'd' is referenced directly or indirectly in its own type annotation.
|
|
|
|
function f() { return f; }
|
|
|
|
// Error expected
|
|
function g() { return g(); }
|
|
~
|
|
!!! error TS7023: 'g' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
|
|
|
|
// Error expected
|
|
var f1 = function () {
|
|
~~
|
|
!!! error TS7023: 'f1' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
|
|
return f1();
|
|
};
|
|
|
|
// Error expected
|
|
var f2 = () => f2();
|
|
~~
|
|
!!! error TS7023: 'f2' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
|
|
|
|
// Error expected
|
|
function h() {
|
|
~
|
|
!!! error TS7023: 'h' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
|
|
return foo();
|
|
function foo() {
|
|
~~~
|
|
!!! error TS7023: 'foo' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
|
|
return h() || "hello";
|
|
}
|
|
}
|
|
|
|
interface A {
|
|
s: string;
|
|
}
|
|
|
|
function foo(x: A): string { return "abc"; }
|
|
|
|
class C {
|
|
// Error expected
|
|
s = foo(this);
|
|
}
|
|
|
|
class D {
|
|
// Error expected
|
|
get x() {
|
|
~
|
|
!!! error TS7023: 'x' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
|
|
return this.x;
|
|
}
|
|
}
|
|
|