less.js icon indicating copy to clipboard operation
less.js copied to clipboard

Error. Please correct it.

Open Bahurtsev opened this issue 8 months ago • 0 comments

On the page: https://lesscss.org/features/#mixins-feature-guarded-namespaces

Invalid code:

#sp_1 when (default()) { #sp_2 when (default()) { .mixin() when not(default()) { /* */ } } }

Namespaces in LESS cannot be "default" in the same sense as mixins. The default() function in LESS only works with mixins and their parameters, not with namespaces.

Namespaces (#sp_1, #sp_2) are not mixins. They are used to group mixins and variables, but do not participate in the default() logic. when (default()) only applies to mixins. It checks whether the mixin was called with default parameters, or was not called at all. There is no call to the mixin in your code. The only mixin .mixin() is inside namespaces, and it is never called. Namespaces are logical groups, not executable code.

Bahurtsev avatar Mar 23 '25 22:03 Bahurtsev