Re: [heycam/webidl] feat: Add `[NonEnumerableMethods]` extended attribute (#825)

> 3. What happens if a mixin is mixed into interfaces with different enumerability behavior?  Presumably the processing model changes will pin this down.
> 4. If an operation is inside a mixin that is mixed into both interfaces that are `[NonEnumerableMethods]` and ones that are not, can that operation be `[LegacyEnumerableMethod]`?  This is entirely unclear, given the language about how that attr most not be used outside of `[NonEnumerableMethods]` interfaces.

I would expect that if `[NonEnumerableMethods]` is defined on the `interface mixin`, then it would only affect methods defined on that mixin, similarly methods transcluded from mixins `[NonEnumerableMethods]` would be kept enumerable, but I don't really know how all the moving parts of WebIDL interact with each other, so I don’t know which should be the right behaviour.

> 5. What should happen with stringifiers and their enumerability?

This should probably default to whether or not `[NonEnumerableMethods]` is specified on the interface.

> 6. Similar for the iterable forEach stuff defined by https://heycam.github.io/webidl/#es-forEach. And other iterable-induced methods.
> 7. Similar for iterator prototype `.next` methods. This is complicated by the fact that there is no explicit syntactic interface declaration for the iterator stuff.

¯\\\_(ツ)\_/¯

-- 
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/825#issuecomment-564670194

Received on Wednesday, 11 December 2019 18:20:34 UTC