mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-26 10:43:51 -05:00
Add check for delete expression must be optional (#37921)
* Add check for delete expression must be optional * Add more tests
This commit is contained in:
42
tests/cases/compiler/deleteExpressionMustBeOptional.ts
Normal file
42
tests/cases/compiler/deleteExpressionMustBeOptional.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
// @strict: true, false
|
||||
|
||||
interface Foo {
|
||||
a: number
|
||||
b: number | undefined
|
||||
c: number | null
|
||||
d?: number
|
||||
e: number | undefined | null
|
||||
f?: number | undefined | null
|
||||
g: unknown
|
||||
h: any
|
||||
i: never
|
||||
}
|
||||
|
||||
interface AA {
|
||||
[s: string]: number
|
||||
}
|
||||
|
||||
type BB = {
|
||||
[P in keyof any]: number
|
||||
}
|
||||
|
||||
declare const f: Foo
|
||||
declare const a: AA
|
||||
declare const b: BB
|
||||
|
||||
delete f.a
|
||||
delete f.b
|
||||
delete f.c
|
||||
delete f.d
|
||||
delete f.e
|
||||
delete f.f
|
||||
delete f.g
|
||||
delete f.h
|
||||
delete f.i
|
||||
delete f.j
|
||||
|
||||
delete a.a
|
||||
delete a.b
|
||||
|
||||
delete b.a
|
||||
delete b.b
|
||||
Reference in New Issue
Block a user