Re: [csswg-drafts] [css-nesting] Concern about combinatorial explosion

> Nested rules are different.

No, they're not, you're just desugaring wrong. ^_^ When desugaring, you replace the `&` with a `:matches()` containing the parent selector

* `a b { & c d { } }` desugars to `:matches(a b) c d {}`. 
* `a1, a2 { & b1, & b2 { } }` desugars to `:matches(a1, a2) b1, :matches(a1, a2) b2 {}`.  (It so happens that this is equivalent to the wrong desugaring you gave.)
* `a b { c d & { } }` desugars to `c d :matches(a b)`.

> (Specificity handling is also hard for :matches() in implementation I guess.)

No, we resolved to use the simpler version of :matches() specificity - it's the specificity of the most specific argument, regardless of matching.

-- 
GitHub Notification of comment by tabatkins
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/2881#issuecomment-402639121 using your GitHub account

Received on Thursday, 5 July 2018 08:03:49 UTC