According to the current spec
can be either 1) a for-lhs-of statement where using is an LHS and of [foo] is an assignment expression
or 2) a for-of using statement where the first of is the using binding and [foo] is an assignment expression.
Because the first interpretation is already valid ECMAScript, we can consider disallow of after using in for-of statement:
for ( using [no LineTerminator here][lookahead ≠ of] ForBinding[?Yield, ?Await, +Using] of AssignmentExpression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return]
According to the current spec
can be either 1) a for-lhs-of statement where
usingis an LHS andof [foo]is an assignment expressionor 2) a for-of using statement where the first
ofis the using binding and[foo]is an assignment expression.Because the first interpretation is already valid ECMAScript, we can consider disallow
ofafterusingin for-of statement: