Skip to content

Error. Please correct it. #4328

Open
Open

Description

@Bahurtsev

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.

Activity

  1. matthew-dean commented on Aug 10, 2025

    @matthew-dean
    Member

    Oh yeah, you're right. I'm not sure who wrote that / added it, but yeah, definitely incorrect.

  2. matthew-dean commented on Mar 10, 2026

    @matthew-dean
    Member

    Can you make this an issue on less-docs?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions