Funções internas que não funcionam com cadeias avaliadas, por quê?

Parece que as seqüências de cores avaliadas não estão funcionando com algumas funções LESS internas. Eu tentei usare() e~"" e qualquer combinação de ambos.

Talvez eu encontre uma solução alternativa para o meu caso em particular, só estou perguntando se esse é o comportamento esperado ou se há uma falha no meu raciocínio. Qualquer insight apreciado.

Por exemplo, aqui, a cor é criada a partir de uma sequência avaliada; observe o 'ausente'# no valor hexadecimal adicionado posteriormente:

.broken-mixin(@hexcode: '9719e1') {

    @color: e("#@{hexcode}");

    // this works as expected
    background-color: @color;

    // this does work too
    .very-simple-mixin(@color);

    // Undefined_methodError: error evaluating function `fade`: 
    // Object #<Object> has no method 'toHSL'
    background-color: fade(@color,30%);

    // SyntaxError: error evaluating function `red`: 
    // Cannot read property '0' of undefined
    background-color: rgba(red(@color), green(@color), blue(@color), 0.5);

}

Caso contrário, as funções internas funcionam normalmente com variáveis em mixins, por exemplo:

.mixin-works(@myColor: #00ff00) {
    // works just fine
    background-color: fade(@myColor,30%);
    // or this, works too
    background-color: rgba(red(@myColor), green(@myColor), blue(@myColor), 0.5);
}

O que estou perdendo ?

questionAnswers(1)

yourAnswerToTheQuestion