Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Async binding & destructuring issues #1943

Open
KFlash opened this Issue Jun 23, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@KFlash
Copy link

KFlash commented Jun 23, 2018

After experimenting with Esprima I come across a lot of binding & destructuring issues. Cases that actually should fail, but doesn't.

I used the ASTExplorer to verify this.

Steps to reproduce

 // parenthesized

esprima.parse('async ((x, y, z)) => 0 ')

// nested
esprima.parse('async(async(async(async(async(async())))))')

 // others
esprima.parse('async(a)(s)(y)(n)(c)')
esprima.parse('async (async ()  => a)  => a')
esprima.parse('async(async() () => {})(async() () => {})(y)(n)(c)')
esprima.parse('async().foo13 () => 1')
esprima.parse('async(async() () => {})(async() () => {})(async() () => {})(async() () => {})(async() () => {})')
esprima.parse('async().foo13 () => 1')
esprima.parse('async()(async() => {})')

Expected output

This cases should all throw an syntax error

Actual output

Parses as normal, and doesn't throw any errors

Relevant references

V8, Acorn, Test262 among others

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.