00:17 | <shu> | rbuckton: riddle me this |
00:17 | <shu> | i see in your explicit resource management test262 PR you have a test that for (using of of [1,2,3]) {} isn't supposed the parse |
00:18 | <shu> | the grammar as i read it says that for the production for ( [lookahead ≠ using of] ForDeclaration[?Yield, ?Await, +Using] of AssignmentExpression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return] |
00:18 | <shu> | because of the negative lookahead, for ( [lookahead ∉ { let, async of }] LeftHandSideExpression[?Yield, ?Await] of AssignmentExpression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return] |
00:19 | <shu> | but for (using of of [1,2,3]) {} does parse as that: using is an identifier, the first of is the of in the for-of, and of[1,2,3] is an assignment expression of a computed property access on the identifier of |
00:19 | <shu> | what am i missing |
00:19 | <shu> | or is this language getting more cursed every day |
00:29 | <Luca Casonato> | Wow that is cursed |
00:30 | <nicolo-ribaudo> | The way we implemented it in Babel matches your reading |
00:53 | <TabAtkins> | Why are the whitespace rules so incredibly lax/cursed, omg |
03:17 | <snek> | this is a feature |
03:20 | <bakkot> | that might be one of the best parses I've ever seen |
03:22 | <rkirsling> | we found a new wat |
03:51 | <rbuckton> | but |
03:53 | <rbuckton> | I'll have to check later. If you could file a bug on the repo, I'd be greatful. |