mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-18 07:29:16 -05:00
fix(44448): disallow 'delete' operator for optional properties (#44612)
This commit is contained in:
@@ -31409,8 +31409,9 @@ namespace ts {
|
||||
}
|
||||
|
||||
function checkDeleteExpressionMustBeOptional(expr: AccessExpression, type: Type) {
|
||||
const AnyOrUnknownOrNeverFlags = TypeFlags.AnyOrUnknown | TypeFlags.Never;
|
||||
if (strictNullChecks && !(type.flags & AnyOrUnknownOrNeverFlags) && !(getFalsyFlags(type) & TypeFlags.Undefined)) {
|
||||
if (strictNullChecks &&
|
||||
!(type.flags & (TypeFlags.AnyOrUnknown | TypeFlags.Never)) &&
|
||||
!(exactOptionalPropertyTypes ? 0 : getFalsyFlags(type) & TypeFlags.Undefined)) {
|
||||
error(expr, Diagnostics.The_operand_of_a_delete_operator_must_be_optional);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,6 +136,7 @@ namespace Harness {
|
||||
"skipDefaultLibCheck",
|
||||
"preserveConstEnums",
|
||||
"skipLibCheck",
|
||||
"exactOptionalPropertyTypes"
|
||||
];
|
||||
private fileName: string;
|
||||
private justName: string;
|
||||
|
||||
Reference in New Issue
Block a user