Re: [heycam/webidl] Introduce the observable array type (#836)

Interesting.  I would have expected `pop()` to set the length before deleting...

In any case, I think it's possible to implement `pop()` without allowing holes: all that's required is that the [[Delete]] of the object change the length before it returns (redundantly with the `Set` that's coming up) if the last item is being deleted and throw if any other item is being deleted otherwise.

I think that would also allow `shift` to work, based on a quick skim through the algorithm.  And I think `splice` would work as well, since it does its deletes back to front...

That does mean we still need a custom [[Delete]].  Not sure whether that's an issue in practice yet; as I said I won't be able to read through everything carefully before Monday.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/pull/836#issuecomment-580977516

Received on Saturday, 1 February 2020 01:49:08 UTC