-
Notifications
You must be signed in to change notification settings - Fork 851
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
Bound functions must not leak global object into strict functions #443
base: master
Are you sure you want to change the base?
Conversation
I meant to leave this comment on the PR but I left it on the Issue instead: This looks like an important fix. We have integration with test262 in the test suite now via a git submodule -- could you take a quick look and see if there are any tests in there that we could enable (by editing testsrc/test262.properties)? It'd be nice to have an independent test to verify this behavior. |
on master it fails with:
While in the branch of this PR it silently passes. |
Sorry to open a can of worms but I think it's important to understand deep stuff like this... All of the "language/function-object" tests in test262 are disabled, so I added a line to test262.properties to enable them. When I did that, we had 423 test failures, all in that suite (we run each test three times so that's 141 test cases), and with this change there are 429 (143 failing test cases). I mucked around in the XML for a while and I might have misinterpreted some of the output, but it looks like this change fixes:
and it introduces new failures in these:
Since you're in the middle of this, perhaps you'll be able to see what's going on? |
I completely agree. I misunderstood the |
FWIW, we could probably cut down the test suite size by a factor of 2: for every test case, there's both a |
Just a heads up that I've spent some more time on this, and have a version that fixes more of the cases. It turned out to be a harder issue than I expected, so still needs some more work. |
@szegedi maybe you can push you current version of this, so others can try to improve this further |
1cc1698
to
49e8586
Compare
Pushed my additional pending changes on request from @rbri; with the understanding that even with this second commit it still doesn't fix all the cases. |
Converted to draft as this isn't mergable in it's current state Might be a useful basis to work on better strict-mode support in the future or be replaced by another PR autoverkeer |
Fixes #442