mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Make Symbol the apparent type of symbol
This commit is contained in:
@@ -2524,6 +2524,9 @@ module ts {
|
||||
else if (type.flags & TypeFlags.Boolean) {
|
||||
type = globalBooleanType;
|
||||
}
|
||||
else if (type.flags & TypeFlags.ESSymbol) {
|
||||
type = globalESSymbolType;
|
||||
}
|
||||
return type;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ s || 1;
|
||||
>s : symbol
|
||||
|
||||
({}) || s;
|
||||
>({}) || s : symbol | {}
|
||||
>({}) || s : {}
|
||||
>({}) : {}
|
||||
>{} : {}
|
||||
>s : symbol
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
tests/cases/conformance/es6/Symbols/symbolType15.ts(5,1): error TS2322: Type 'Symbol' is not assignable to type 'symbol'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/Symbols/symbolType15.ts (1 errors) ====
|
||||
var sym: symbol;
|
||||
var symObj: Symbol;
|
||||
|
||||
symObj = sym;
|
||||
sym = symObj;
|
||||
~~~
|
||||
!!! error TS2322: Type 'Symbol' is not assignable to type 'symbol'.
|
||||
@@ -0,0 +1,12 @@
|
||||
//// [symbolType15.ts]
|
||||
var sym: symbol;
|
||||
var symObj: Symbol;
|
||||
|
||||
symObj = sym;
|
||||
sym = symObj;
|
||||
|
||||
//// [symbolType15.js]
|
||||
var sym;
|
||||
var symObj;
|
||||
symObj = sym;
|
||||
sym = symObj;
|
||||
@@ -0,0 +1,11 @@
|
||||
//// [symbolType16.ts]
|
||||
interface Symbol {
|
||||
newSymbolProp: number;
|
||||
}
|
||||
|
||||
var sym: symbol;
|
||||
sym.newSymbolProp;
|
||||
|
||||
//// [symbolType16.js]
|
||||
var sym;
|
||||
sym.newSymbolProp;
|
||||
@@ -0,0 +1,16 @@
|
||||
=== tests/cases/conformance/es6/Symbols/symbolType16.ts ===
|
||||
interface Symbol {
|
||||
>Symbol : Symbol
|
||||
|
||||
newSymbolProp: number;
|
||||
>newSymbolProp : number
|
||||
}
|
||||
|
||||
var sym: symbol;
|
||||
>sym : symbol
|
||||
|
||||
sym.newSymbolProp;
|
||||
>sym.newSymbolProp : number
|
||||
>sym : symbol
|
||||
>newSymbolProp : number
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
//@target: ES6
|
||||
var sym: symbol;
|
||||
var symObj: Symbol;
|
||||
|
||||
symObj = sym;
|
||||
sym = symObj;
|
||||
@@ -0,0 +1,7 @@
|
||||
//@target: ES6
|
||||
interface Symbol {
|
||||
newSymbolProp: number;
|
||||
}
|
||||
|
||||
var sym: symbol;
|
||||
sym.newSymbolProp;
|
||||
Reference in New Issue
Block a user