Incorrect usage of InitializeReferencedBinding AO in ForIn/OfBodyEvaluation
rbuckton opened this issue · comments
Steps 4-6 of ForIn/OfBodyEvaluation define the hint variable, which is intended to be passed to the InitializeReferencedBinding
AO on steps 9.h.vii.5-6. This is necessary to correctly initialize a resource that uses Symbol.asyncDispose
in the following statement:
for (await using x of y) {
}
The steps 9.h.vii.5-6 are currently
- If IsUsingDeclaration of lhs is true, then
- Let status be Completion(InitializeReferencedBinding(lhsRef, nextValue, sync-dispose)).
- Else,
- Let status be Completion(InitializeReferencedBinding(lhsRef, nextValue, normal)).
but should be
- Let status be Completion(InitializeReferencedBinding(lhsRef, nextValue, hint)).