mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-23 01:42:07 -06:00
Address PR feedback
This commit is contained in:
parent
ccd98af1ba
commit
b5a7b036c3
@ -7924,14 +7924,7 @@ namespace ts {
|
||||
links.resolvedType = getIndexType(getTypeFromTypeNode(node.type));
|
||||
break;
|
||||
case SyntaxKind.UniqueKeyword:
|
||||
if (node.type.kind === SyntaxKind.SymbolKeyword) {
|
||||
const parent = skipParentheses(node).parent;
|
||||
const symbol = getSymbolOfNode(parent);
|
||||
links.resolvedType = symbol ? getUniqueESSymbolTypeForSymbol(symbol) : esSymbolType;
|
||||
}
|
||||
else {
|
||||
links.resolvedType = unknownType;
|
||||
}
|
||||
links.resolvedType = getUniqueType(<UniqueTypeOperatorNode>node);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -8299,37 +8292,35 @@ namespace ts {
|
||||
return links.resolvedType;
|
||||
}
|
||||
|
||||
function nodeCanHaveUniqueESSymbolType(node: Node) {
|
||||
return isVariableDeclaration(node) ? isConst(node) && isIdentifier(node.name) && isVariableDeclarationInVariableStatement(node) :
|
||||
isPropertyDeclaration(node) ? hasReadonlyModifier(node) && hasStaticModifier(node) :
|
||||
isPropertySignature(node) ? hasReadonlyModifier(node) :
|
||||
false;
|
||||
}
|
||||
|
||||
function createUniqueESSymbolType(symbol: Symbol) {
|
||||
const type = <UniqueESSymbolType>createType(TypeFlags.UniqueESSymbol);
|
||||
type.symbol = symbol;
|
||||
return type;
|
||||
}
|
||||
|
||||
function isReferenceToValidDeclarationForUniqueESSymbol(symbol: Symbol) {
|
||||
if (symbol.valueDeclaration) {
|
||||
switch (symbol.valueDeclaration.kind) {
|
||||
case SyntaxKind.VariableDeclaration:
|
||||
return getNameOfDeclaration(symbol.valueDeclaration).kind === SyntaxKind.Identifier
|
||||
&& isVariableDeclarationInVariableStatement(<VariableDeclaration>symbol.valueDeclaration)
|
||||
&& !!(symbol.valueDeclaration.parent.flags & NodeFlags.Const);
|
||||
case SyntaxKind.PropertySignature:
|
||||
return hasModifier(symbol.valueDeclaration, ModifierFlags.Readonly);
|
||||
case SyntaxKind.PropertyDeclaration:
|
||||
return hasModifier(symbol.valueDeclaration, ModifierFlags.Readonly)
|
||||
&& hasModifier(symbol.valueDeclaration, ModifierFlags.Static);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function getUniqueESSymbolTypeForSymbol(symbol: Symbol) {
|
||||
if (isReferenceToValidDeclarationForUniqueESSymbol(symbol)) {
|
||||
function getUniqueESSymbolTypeForNode(node: Node) {
|
||||
const parent = walkUpParentheses(node);
|
||||
if (nodeCanHaveUniqueESSymbolType(parent)) {
|
||||
const symbol = getSymbolOfNode(parent);
|
||||
const links = getSymbolLinks(symbol);
|
||||
return links.type || (links.type = createUniqueESSymbolType(symbol));
|
||||
}
|
||||
return esSymbolType;
|
||||
}
|
||||
|
||||
function getUniqueType(node: UniqueTypeOperatorNode) {
|
||||
return node.type.kind === SyntaxKind.SymbolKeyword
|
||||
? getUniqueESSymbolTypeForNode(node.parent)
|
||||
: unknownType;
|
||||
}
|
||||
|
||||
function getTypeFromJSDocVariadicType(node: JSDocVariadicType): Type {
|
||||
const links = getNodeLinks(node);
|
||||
if (!links.resolvedType) {
|
||||
@ -17180,9 +17171,7 @@ namespace ts {
|
||||
// Treat any call to the global 'Symbol' function that is part of a const variable or readonly property
|
||||
// as a fresh unique symbol literal type.
|
||||
if (returnType.flags & TypeFlags.ESSymbolLike && isSymbolOrSymbolForCall(node)) {
|
||||
const parent = skipParentheses(node).parent;
|
||||
const symbol = getSymbolOfNode(parent);
|
||||
if (symbol) return getUniqueESSymbolTypeForSymbol(symbol);
|
||||
return getUniqueESSymbolTypeForNode(node.parent);
|
||||
}
|
||||
return returnType;
|
||||
}
|
||||
@ -25542,19 +25531,6 @@ namespace ts {
|
||||
}
|
||||
break;
|
||||
|
||||
// report specific errors for cases where a `unique symbol` type is disallowed even when it is in a `const` or `readonly` declaration.
|
||||
case SyntaxKind.UnionType:
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_are_not_allowed_in_a_union_type);
|
||||
case SyntaxKind.IntersectionType:
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_are_not_allowed_in_an_intersection_type);
|
||||
case SyntaxKind.ArrayType:
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_are_not_allowed_in_an_array_type);
|
||||
case SyntaxKind.TupleType:
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_are_not_allowed_in_a_tuple_type);
|
||||
case SyntaxKind.MappedType:
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_are_not_allowed_in_a_mapped_type);
|
||||
|
||||
// report a general error for any other invalid use site.
|
||||
default:
|
||||
return grammarErrorOnNode(node, Diagnostics.unique_symbol_types_are_not_allowed_here);
|
||||
}
|
||||
|
||||
@ -911,49 +911,29 @@
|
||||
"category": "Error",
|
||||
"code": 1329
|
||||
},
|
||||
"'unique symbol' types are not allowed in a union type.": {
|
||||
"A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.": {
|
||||
"category": "Error",
|
||||
"code": 1330
|
||||
},
|
||||
"'unique symbol' types are not allowed in an intersection type.": {
|
||||
"A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.": {
|
||||
"category": "Error",
|
||||
"code": 1331
|
||||
},
|
||||
"'unique symbol' types are not allowed in an array type.": {
|
||||
"A variable whose type is a 'unique symbol' type must be 'const'.": {
|
||||
"category": "Error",
|
||||
"code": 1332
|
||||
},
|
||||
"'unique symbol' types are not allowed in a tuple type.": {
|
||||
"'unique symbol' types may not be used on a variable declaration with a binding name.": {
|
||||
"category": "Error",
|
||||
"code": 1333
|
||||
},
|
||||
"'unique symbol' types are not allowed in a mapped type.": {
|
||||
"'unique symbol' types are only allowed on variables in a variable statement.": {
|
||||
"category": "Error",
|
||||
"code": 1334
|
||||
},
|
||||
"A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.": {
|
||||
"category": "Error",
|
||||
"code": 1335
|
||||
},
|
||||
"A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.": {
|
||||
"category": "Error",
|
||||
"code": 1336
|
||||
},
|
||||
"A variable whose type is a 'unique symbol' type must be 'const'.": {
|
||||
"category": "Error",
|
||||
"code": 1337
|
||||
},
|
||||
"'unique symbol' types may not be used on a variable declaration with a binding name.": {
|
||||
"category": "Error",
|
||||
"code": 1338
|
||||
},
|
||||
"'unique symbol' types are only allowed on variables in a variable statement.": {
|
||||
"category": "Error",
|
||||
"code": 1339
|
||||
},
|
||||
"'unique symbol' types are not allowed here.": {
|
||||
"category": "Error",
|
||||
"code": 1340
|
||||
"code": 1335
|
||||
},
|
||||
|
||||
"Duplicate identifier '{0}'.": {
|
||||
|
||||
@ -1046,6 +1046,11 @@ namespace ts {
|
||||
type: TypeNode;
|
||||
}
|
||||
|
||||
/* @internal */
|
||||
export interface UniqueTypeOperatorNode extends TypeOperatorNode {
|
||||
operator: SyntaxKind.UniqueKeyword;
|
||||
}
|
||||
|
||||
export interface IndexedAccessTypeNode extends TypeNode {
|
||||
kind: SyntaxKind.IndexedAccessType;
|
||||
objectType: TypeNode;
|
||||
|
||||
@ -1695,12 +1695,27 @@ namespace ts {
|
||||
return getAssignmentTargetKind(node) !== AssignmentKind.None;
|
||||
}
|
||||
|
||||
export function walkUpParentheses(node: Node) {
|
||||
while (node && (node.kind === SyntaxKind.ParenthesizedType ||
|
||||
node.kind === SyntaxKind.ParenthesizedExpression)) {
|
||||
node = node.parent;
|
||||
}
|
||||
return node;
|
||||
}
|
||||
|
||||
export function walkUpParenthesizedExpressions(node: Node) {
|
||||
while (node && node.kind === SyntaxKind.ParenthesizedExpression) {
|
||||
node = node.parent;
|
||||
}
|
||||
return node;
|
||||
}
|
||||
|
||||
// a node is delete target iff. it is PropertyAccessExpression/ElementAccessExpression with parentheses skipped
|
||||
export function isDeleteTarget(node: Node): boolean {
|
||||
if (node.kind !== SyntaxKind.PropertyAccessExpression && node.kind !== SyntaxKind.ElementAccessExpression) {
|
||||
return false;
|
||||
}
|
||||
node = node.parent;
|
||||
node = walkUpParenthesizedExpressions(node.parent);
|
||||
while (node && node.kind === SyntaxKind.ParenthesizedExpression) {
|
||||
node = node.parent;
|
||||
}
|
||||
@ -3009,6 +3024,10 @@ namespace ts {
|
||||
return hasModifier(node, ModifierFlags.Static);
|
||||
}
|
||||
|
||||
export function hasReadonlyModifier(node: Node): boolean {
|
||||
return hasModifier(node, ModifierFlags.Readonly);
|
||||
}
|
||||
|
||||
export function getSelectedModifierFlags(node: Node, flags: ModifierFlags): ModifierFlags {
|
||||
return getModifierFlags(node) & flags;
|
||||
}
|
||||
|
||||
@ -1989,7 +1989,7 @@ declare namespace ts {
|
||||
IndexedAccess = 1048576,
|
||||
NonPrimitive = 33554432,
|
||||
MarkerType = 134217728,
|
||||
Literal = 1248,
|
||||
Literal = 224,
|
||||
Unit = 13536,
|
||||
StringOrNumberLiteral = 96,
|
||||
PossiblyFalsy = 14574,
|
||||
@ -2004,6 +2004,8 @@ declare namespace ts {
|
||||
TypeVariable = 1081344,
|
||||
Narrowable = 35620607,
|
||||
NotUnionOrUnit = 33620481,
|
||||
WidenableLiteral = 480,
|
||||
WidenableLiteralLike = 1504,
|
||||
}
|
||||
type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression;
|
||||
interface Type {
|
||||
|
||||
@ -1989,7 +1989,7 @@ declare namespace ts {
|
||||
IndexedAccess = 1048576,
|
||||
NonPrimitive = 33554432,
|
||||
MarkerType = 134217728,
|
||||
Literal = 1248,
|
||||
Literal = 224,
|
||||
Unit = 13536,
|
||||
StringOrNumberLiteral = 96,
|
||||
PossiblyFalsy = 14574,
|
||||
@ -2004,6 +2004,8 @@ declare namespace ts {
|
||||
TypeVariable = 1081344,
|
||||
Narrowable = 35620607,
|
||||
NotUnionOrUnit = 33620481,
|
||||
WidenableLiteral = 480,
|
||||
WidenableLiteralLike = 1504,
|
||||
}
|
||||
type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression;
|
||||
interface Type {
|
||||
|
||||
@ -1,63 +1,63 @@
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(2,41): error TS1005: 'symbol' expected.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(3,19): error TS1338: 'unique symbol' types may not be used on a variable declaration with a binding name.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(4,13): error TS1337: A variable whose type is a 'unique symbol' type must be 'const'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(5,13): error TS1337: A variable whose type is a 'unique symbol' type must be 'const'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(8,38): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(9,46): error TS1332: 'unique symbol' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(10,39): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(11,40): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(12,53): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(13,59): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(14,50): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(18,44): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(20,14): error TS1336: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(21,5): error TS1336: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(22,25): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(23,34): error TS1332: 'unique symbol' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(24,26): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(25,27): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(26,40): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(27,46): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(28,37): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(29,26): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(30,28): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(32,12): error TS1336: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(33,38): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(34,47): error TS1332: 'unique symbol' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(35,39): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(36,40): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(37,53): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(38,59): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(39,50): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(40,39): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(41,41): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(46,5): error TS1335: A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(47,25): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(48,34): error TS1332: 'unique symbol' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(49,26): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(50,27): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(51,40): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(52,46): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(53,37): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(58,5): error TS1335: A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(59,25): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(60,34): error TS1332: 'unique symbol' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(61,26): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(62,27): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(63,40): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(64,46): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(65,37): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(69,21): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(70,52): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(71,49): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(74,44): error TS1340: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(75,34): error TS1332: 'unique symbol' types are not allowed in an array type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(76,34): error TS1333: 'unique symbol' types are not allowed in a tuple type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(79,51): error TS1334: 'unique symbol' types are not allowed in a mapped type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(82,29): error TS1330: 'unique symbol' types are not allowed in a union type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(82,45): error TS1330: 'unique symbol' types are not allowed in a union type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(83,36): error TS1330: 'unique symbol' types are not allowed in a union type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(83,52): error TS1330: 'unique symbol' types are not allowed in a union type.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(3,19): error TS1333: 'unique symbol' types may not be used on a variable declaration with a binding name.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(4,13): error TS1332: A variable whose type is a 'unique symbol' type must be 'const'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(5,13): error TS1332: A variable whose type is a 'unique symbol' type must be 'const'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(8,38): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(9,46): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(10,39): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(11,40): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(12,53): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(13,59): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(14,50): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(18,44): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(20,14): error TS1331: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(21,5): error TS1331: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(22,25): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(23,34): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(24,26): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(25,27): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(26,40): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(27,46): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(28,37): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(29,26): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(30,28): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(32,12): error TS1331: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(33,38): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(34,47): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(35,39): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(36,40): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(37,53): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(38,59): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(39,50): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(40,39): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(41,41): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(46,5): error TS1330: A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(47,25): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(48,34): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(49,26): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(50,27): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(51,40): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(52,46): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(53,37): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(58,5): error TS1330: A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(59,25): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(60,34): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(61,26): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(62,27): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(63,40): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(64,46): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(65,37): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(69,21): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(70,52): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(71,49): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(74,44): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(75,34): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(76,34): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(79,51): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(82,29): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(82,45): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(83,36): error TS1335: 'unique symbol' types are not allowed here.
|
||||
tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(83,52): error TS1335: 'unique symbol' types are not allowed here.
|
||||
|
||||
|
||||
==== tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts (60 errors) ====
|
||||
@ -67,203 +67,203 @@ tests/cases/conformance/types/uniqueSymbol/uniqueSymbolsErrors.ts(83,52): error
|
||||
!!! error TS1005: 'symbol' expected.
|
||||
declare const {}: unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1338: 'unique symbol' types may not be used on a variable declaration with a binding name.
|
||||
!!! error TS1333: 'unique symbol' types may not be used on a variable declaration with a binding name.
|
||||
declare let invalidLetType: unique symbol;
|
||||
~~~~~~~~~~~~~~
|
||||
!!! error TS1337: A variable whose type is a 'unique symbol' type must be 'const'.
|
||||
!!! error TS1332: A variable whose type is a 'unique symbol' type must be 'const'.
|
||||
declare var invalidVarType: unique symbol;
|
||||
~~~~~~~~~~~~~~
|
||||
!!! error TS1337: A variable whose type is a 'unique symbol' type must be 'const'.
|
||||
!!! error TS1332: A variable whose type is a 'unique symbol' type must be 'const'.
|
||||
|
||||
// function arguments and return types
|
||||
declare function invalidArgType(arg: unique symbol): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
declare function invalidRestArgType(...arg: (unique symbol)[]): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1332: 'unique symbol' types are not allowed in an array type.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
declare function invalidReturnType(): unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
declare function invalidThisType(this: unique symbol): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
declare function invalidTypePredicate(n: any): n is unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
declare function invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
declare function invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
|
||||
// classes
|
||||
class InvalidClass {
|
||||
constructor(invalidConstructorArgType: unique symbol) {}
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
|
||||
readonly invalidReadonlyPropertyType: unique symbol;
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS1336: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
!!! error TS1331: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
invalidPropertyType: unique symbol;
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS1336: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
!!! error TS1331: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
invalidArgType(arg: unique symbol): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidRestArgType(...args: (unique symbol)[]): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1332: 'unique symbol' types are not allowed in an array type.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidReturnType(): unique symbol { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidThisType(this: unique symbol): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidTypePredicate(n: any): n is unique symbol { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
get invalidGetter(): unique symbol { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
set invalidSetter(arg: unique symbol) { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
|
||||
static invalidStaticPropertyType: unique symbol;
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS1336: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
!!! error TS1331: A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.
|
||||
static invalidStaticArgType(arg: unique symbol): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
static invalidStaticRestArgType(...args: (unique symbol)[]): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1332: 'unique symbol' types are not allowed in an array type.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
static invalidStaticReturnType(): unique symbol { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
static invalidStaticThisType(this: unique symbol): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
static invalidStaticTypePredicate(n: any): n is unique symbol { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
static invalidStaticTypeParameterConstraint<T extends unique symbol>(): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
static invalidStaticTypeParameterDefault<T = unique symbol>(): void { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
static get invalidStaticGetter(): unique symbol { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
static set invalidStaticSetter(arg: unique symbol) { return; }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
}
|
||||
|
||||
// interfaces
|
||||
interface InvalidInterface {
|
||||
invalidPropertyType: unique symbol;
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS1335: A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.
|
||||
!!! error TS1330: A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.
|
||||
invalidArgType(arg: unique symbol): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidRestArgType(...args: (unique symbol)[]): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1332: 'unique symbol' types are not allowed in an array type.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidReturnType(): unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidThisType(this: unique symbol);
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidTypePredicate(n: any): n is unique symbol
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
}
|
||||
|
||||
// type literals
|
||||
type InvalidTypeLiteral = {
|
||||
invalidPropertyType: unique symbol;
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS1335: A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.
|
||||
!!! error TS1330: A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.
|
||||
invalidArgType(arg: unique symbol): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidRestArgType(...args: (unique symbol)[]): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1332: 'unique symbol' types are not allowed in an array type.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidReturnType(): unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidThisType(this: unique symbol);
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidTypePredicate(n: any): n is unique symbol
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidTypeParameterConstraint<T extends unique symbol>(): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
invalidTypeParameterDefault<T = unique symbol>(): void;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
};
|
||||
|
||||
// type alias
|
||||
type InvalidAlias = unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
type InvalidAliasTypeParameterConstraint<T extends unique symbol> = never;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
type InvalidAliasTypeParameterDefault<T extends unique symbol> = never;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
|
||||
// type references
|
||||
declare const invalidTypeArgument: Promise<unique symbol>;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1340: 'unique symbol' types are not allowed here.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
declare const invalidArrayType: (unique symbol)[];
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1332: 'unique symbol' types are not allowed in an array type.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
declare const invalidTupleType: [unique symbol];
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1333: 'unique symbol' types are not allowed in a tuple type.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
|
||||
// mapped types
|
||||
declare const invalidMappedType: { [P in string]: unique symbol };
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1334: 'unique symbol' types are not allowed in a mapped type.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
|
||||
// unions/intersection
|
||||
declare const invalidUnion: unique symbol | unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1330: 'unique symbol' types are not allowed in a union type.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1330: 'unique symbol' types are not allowed in a union type.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
declare const invalidIntersection: unique symbol | unique symbol;
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1330: 'unique symbol' types are not allowed in a union type.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS1330: 'unique symbol' types are not allowed in a union type.
|
||||
!!! error TS1335: 'unique symbol' types are not allowed here.
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user