* Eliminate well-known symbols in the checker: 2021 edition * Actually update the lib text to say unique symbol, too (this is unneeded with compat code in place, but this makes goto-def make more sense) * Add test showing mismatched symbol constructor type interop * Add more test cases for some other related issues this fixes * Revert computed name change * Style comments
23 lines
555 B
Plaintext
23 lines
555 B
Plaintext
=== tests/cases/conformance/es6/Symbols/symbolProperty57.ts ===
|
|
var obj = {
|
|
>obj : { [Symbol.iterator]: number; }
|
|
>{ [Symbol.iterator]: 0} : { [Symbol.iterator]: number; }
|
|
|
|
[Symbol.iterator]: 0
|
|
>[Symbol.iterator] : number
|
|
>Symbol.iterator : unique symbol
|
|
>Symbol : SymbolConstructor
|
|
>iterator : unique symbol
|
|
>0 : 0
|
|
|
|
};
|
|
|
|
// Should give type 'any'.
|
|
obj[Symbol["nonsense"]];
|
|
>obj[Symbol["nonsense"]] : error
|
|
>obj : { [Symbol.iterator]: number; }
|
|
>Symbol["nonsense"] : error
|
|
>Symbol : SymbolConstructor
|
|
>"nonsense" : "nonsense"
|
|
|