TypeScript/tests/baselines/reference/symbolProperty47.types
Wesley Wigham 87d10eb055
Eliminate well known symbols as a concept in the checker and rely on unique symbols (#42543)
* 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
2021-02-22 14:43:28 -08:00

46 lines
1 KiB
Plaintext

=== tests/cases/conformance/es6/Symbols/symbolProperty47.ts ===
class C {
>C : C
get [Symbol.hasInstance]() {
>[Symbol.hasInstance] : number
>Symbol.hasInstance : unique symbol
>Symbol : SymbolConstructor
>hasInstance : unique symbol
return "";
>"" : ""
}
// Should take a string
set [Symbol.hasInstance](x: number) {
>[Symbol.hasInstance] : number
>Symbol.hasInstance : unique symbol
>Symbol : SymbolConstructor
>hasInstance : unique symbol
>x : number
}
}
(new C)[Symbol.hasInstance] = 0;
>(new C)[Symbol.hasInstance] = 0 : 0
>(new C)[Symbol.hasInstance] : number
>(new C) : C
>new C : C
>C : typeof C
>Symbol.hasInstance : unique symbol
>Symbol : SymbolConstructor
>hasInstance : unique symbol
>0 : 0
(new C)[Symbol.hasInstance] = "";
>(new C)[Symbol.hasInstance] = "" : ""
>(new C)[Symbol.hasInstance] : number
>(new C) : C
>new C : C
>C : typeof C
>Symbol.hasInstance : unique symbol
>Symbol : SymbolConstructor
>hasInstance : unique symbol
>"" : ""