mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-10 15:25:54 -06:00
The element/iterated type of any is any
This commit is contained in:
parent
8f57867601
commit
cb9954bd20
@ -9416,6 +9416,10 @@ module ts {
|
||||
}
|
||||
|
||||
function checkIteratedTypeOrElementType(inputType: Type, errorNode: Node, allowStringInput: boolean): Type {
|
||||
if (inputType.flags & TypeFlags.Any) {
|
||||
return inputType;
|
||||
}
|
||||
|
||||
if (languageVersion >= ScriptTarget.ES6) {
|
||||
return checkIteratedType(inputType, errorNode) || anyType;
|
||||
}
|
||||
|
||||
@ -0,0 +1,9 @@
|
||||
//// [arrayAssignmentPatternWithAny.ts]
|
||||
var a: any;
|
||||
var x: string;
|
||||
[x] = a;
|
||||
|
||||
//// [arrayAssignmentPatternWithAny.js]
|
||||
var a;
|
||||
var x;
|
||||
x = a[0];
|
||||
@ -0,0 +1,13 @@
|
||||
=== tests/cases/conformance/es6/destructuring/arrayAssignmentPatternWithAny.ts ===
|
||||
var a: any;
|
||||
>a : any, Symbol(a, Decl(arrayAssignmentPatternWithAny.ts, 0, 3))
|
||||
|
||||
var x: string;
|
||||
>x : string, Symbol(x, Decl(arrayAssignmentPatternWithAny.ts, 1, 3))
|
||||
|
||||
[x] = a;
|
||||
>[x] = a : any
|
||||
>[x] : [string]
|
||||
>x : string, Symbol(x, Decl(arrayAssignmentPatternWithAny.ts, 1, 3))
|
||||
>a : any, Symbol(a, Decl(arrayAssignmentPatternWithAny.ts, 0, 3))
|
||||
|
||||
@ -14,7 +14,6 @@ tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts(3
|
||||
tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts(31,1): error TS2364: Invalid left-hand side of assignment expression.
|
||||
tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts(32,1): error TS2364: Invalid left-hand side of assignment expression.
|
||||
tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts(35,9): error TS1128: Declaration or statement expected.
|
||||
tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts(38,1): error TS2461: Type 'any' is not an array type.
|
||||
tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts(38,2): error TS2364: Invalid left-hand side of assignment expression.
|
||||
tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts(38,6): error TS2364: Invalid left-hand side of assignment expression.
|
||||
tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts(42,36): error TS1034: 'super' must be followed by an argument list or member access.
|
||||
@ -39,7 +38,7 @@ tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts(6
|
||||
tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts(70,1): error TS2364: Invalid left-hand side of assignment expression.
|
||||
|
||||
|
||||
==== tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts (39 errors) ====
|
||||
==== tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts (38 errors) ====
|
||||
// expected error for all the LHS of assignments
|
||||
var value;
|
||||
|
||||
@ -110,8 +109,6 @@ tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts(7
|
||||
|
||||
// array literals
|
||||
['', ''] = value;
|
||||
~~~~~~~~
|
||||
!!! error TS2461: Type 'any' is not an array type.
|
||||
~~
|
||||
!!! error TS2364: Invalid left-hand side of assignment expression.
|
||||
~~
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
var a: any;
|
||||
var x: string;
|
||||
[x] = a;
|
||||
Loading…
x
Reference in New Issue
Block a user