Let'S do it by example:
.ident_a, .ident_b {
& + & + & { color: red; }
}
We have to generate all permutations of the parent identifier list and
the amount of ampersand child identifiers. In the above case, the
exploded identifier list has ident_count**ampersand_count entries (8).
As a bonus, we get the same identifier sort order as lessc does.
Conflicts:
lesscpy/plib/identifier.py
The operator list includes "=<", but not "<>", "!=" or "<=". Properly
adjust test cases and drop occurences of invalid operators. Raise a
syntax error if an unknown operator is used. See
http://lesscss.org/#-pattern-matching-and-guard-expressions
Mimics Python3's changed rounding behavior: "The round() function
rounding strategy and return type have changed. Exact halfway cases are
now rounded to the nearest even result instead of away from zero. (For
example, round(2.5) now returns 2 rather than 3.) round(x[, n]) now
delegates to x.__round__([n]) instead of always returning a float. It
generally returns an integer when called with a single argument and a
value of the same type as x when called with two arguments."