This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Rather than [NoInterfaceObject] interface Foo {}; and somehow communicating that it's meant to be a mixin, we could use mixin Foo {}; (or whatever) and only allow mixins on the RHS of |implements|.
+1, this is a great idea. I constantly live in fear that someone will do `: Foo` instead of `implements Foo` with one of the "mixin" [NoInterfaceObject]s.
This needs to get done. Everyone in the WebIDL discussions at the last TPAC agreed we need to do this, it'll make a sane fix for https://github.com/heycam/webidl/issues/164 possible, and is generally needed to make various parts of the spec less handwavy.
Fixed in https://github.com/heycam/webidl/pull/433/commits/8900c39