Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[Bug]: Deleting super property #6389

Open
p51lee opened this issue Nov 9, 2022 · 2 comments
Open

[Bug]: Deleting super property #6389

p51lee opened this issue Nov 9, 2022 · 2 comments
Labels

Comments

@p51lee
Copy link

p51lee commented Nov 9, 2022

Describe the bug

ReferenceError is expected when running the input code, but output code is terminated normally.

Input code

class x { static y = delete super [ 0 ] ; }

Config

No response

Playground link

https://play.swc.rs/?version=1.3.14&code=H4sIAAAAAAAAA0vOSSwuVqhQqFYoLkksyUxWqFSwVUhJzUktSVUoLi1ILVKIVjBQiFWwVqgFAGhAQhIrAAAA&config=H4sIAAAAAAAAA0WMTQrEIAxG75K1286id5hDBCctFv9IUhgR714tlu7C915ehUMsrBUyshCPS0pU%2FMMKZAOKZZcVTNf6tKEXagYUeScdiiyd%2BZSEJjUQXHRbGSWbQmYSeRHG3T9m66GQfucYKmjJdAc%2F0N7G%2FHPynaLySe0Cj9ke9LUAAAA%3D

Expected behavior

input.js throws ReferenceError:

$ node input.js
input.js:1
class x { static 0 = delete super [ 0 ] ; }
                     ^

ReferenceError: Unsupported reference to 'super'
    at <static_initializer> (input.js:1:22)
    at Object.<anonymous> (input.js:1:1)
    at Module._compile (node:internal/modules/cjs/loader:1159:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
    at Module.load (node:internal/modules/cjs/loader:1037:32)
    at Module._load (node:internal/modules/cjs/loader:878:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47

Node.js v18.11.0

Actual behavior

output.js is terminated normally:

$ node output.js # no error

Version

1.3.14 (default SWC playground)

Additional context

No response

@p51lee p51lee added the C-bug label Nov 9, 2022
@Austaras
Copy link
Member

Since nobody is relying on this and it would always leads to a ReferenceError, the best solution would be simply ban it on parse time.

@kdy1
Copy link
Member

kdy1 commented Nov 10, 2022

I'm not sure if this worth a fix

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Development

No branches or pull requests

3 participants