diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ac5012a3bf..15782e1361 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -15929,7 +15929,7 @@ namespace ts { checkAssignmentOperator(rightType); return getRegularTypeOfObjectLiteral(rightType); case SyntaxKind.CommaToken: - if (!compilerOptions.allowUnreachableCode && isSideEffectFree(left)) { + if (!compilerOptions.allowUnreachableCode && isSideEffectFree(left) && right.text!=="eval") { error(left, Diagnostics.Left_side_of_comma_operator_is_unused_and_has_no_side_effects); } return rightType; diff --git a/tests/cases/compiler/evalAfter0.ts b/tests/cases/compiler/evalAfter0.ts new file mode 100644 index 0000000000..ff9a036fac --- /dev/null +++ b/tests/cases/compiler/evalAfter0.ts @@ -0,0 +1,3 @@ +(0,eval)("10"); + +(0,alert)("10"); \ No newline at end of file