Skip to content

Commit ecc1024

Browse files
authored
Disallow Infinity, -Infinity and NaN as an enum key name (microsoft#56161)
1 parent 7e1c297 commit ecc1024

File tree

4 files changed

+31
-1
lines changed

4 files changed

+31
-1
lines changed

src/compiler/checker.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -45022,7 +45022,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
4502245022
}
4502345023
else {
4502445024
const text = getTextOfPropertyName(member.name);
45025-
if (isNumericLiteralName(text) && !isInfinityOrNaNString(text)) {
45025+
if (isNumericLiteralName(text)) {
4502645026
error(member.name, Diagnostics.An_enum_member_cannot_have_a_numeric_name);
4502745027
}
4502845028
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
enumWithInfinityProperty.ts(2,5): error TS2452: An enum member cannot have a numeric name.
2+
3+
4+
==== enumWithInfinityProperty.ts (1 errors) ====
5+
enum A {
6+
Infinity = 1
7+
~~~~~~~~
8+
!!! error TS2452: An enum member cannot have a numeric name.
9+
}
10+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
enumWithNaNProperty.ts(2,5): error TS2452: An enum member cannot have a numeric name.
2+
3+
4+
==== enumWithNaNProperty.ts (1 errors) ====
5+
enum A {
6+
NaN = 1
7+
~~~
8+
!!! error TS2452: An enum member cannot have a numeric name.
9+
}
10+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
enumWithNegativeInfinityProperty.ts(2,5): error TS2452: An enum member cannot have a numeric name.
2+
3+
4+
==== enumWithNegativeInfinityProperty.ts (1 errors) ====
5+
enum A {
6+
"-Infinity" = 1
7+
~~~~~~~~~~~
8+
!!! error TS2452: An enum member cannot have a numeric name.
9+
}
10+

0 commit comments

Comments
 (0)