"it is not possible for a single platform object to implement both interfaces" #59
Labels
☕☕☕ difficulty:hard
Excruciating
⌛⌛ duration:medium
Shouldn't be too long to fix
editorial
Changes that do not affect how the standard is understood.
Apparently two IDL interface types are distinguishable if all of the following hold
This second condition is very confusing. I can think of two possible interpretations:
Interpretation A
Baz implements both Foo and Bar, so Foo and Bar are not distinguishable. (Contrapositive of the given statement.)
Interpretation B
It is not possible to implement both Foo and Bar at the same time, so they are distinguishable.
Discussion
Both of these interpretations kind of suck.
Interpretation A is a very nonlocal definition. To determine if A and B are distinguishable, you have to look at all interfaces in the web platform, and find out if any of them implement both A and B. (I think something that extends A and implements B would also work, or vice-versa.) This means A and B's distinguishability can change at any time.
Interpretation B is very implicit. It comes down to finding all places in the spec that prohibit implementing a given interface. In this case I found the condition
but there are others, e.g. the no-cycles condition.
Which is it? And, is this actually implementable, or implemented by existing binding layers?
The text was updated successfully, but these errors were encountered: