Por que os operadores de pinos são necessários nas consultas Ecto?

No Elixir, o operador de pinos é usado para evitar a rebobinação variável. No entanto, em relação a uma consulta Ecto como

from u in User, where: u.username == ^username

os autores deProgramação Phoenix declarar (no capítulo 7) que

Lembre-se, o operador ^ (chamado de operador de pinos) significa que queremos manter^ nome de usuário o mesmo.

Mas isso não parece certo, porque, aparentemente, a comparação na consulta não deve causar nenhuma religação de variáveis.

Os autores do livro (que José Valim é co-autor) estão enganados? O operador de pinos no Ecto consulta apenas uma construção do Ecto DSL em vez de um operador de pinos Elixir comum? Ou a consulta realmente terá a chance de religarusername depois que as macros são expandidas?

questionAnswers(3)

yourAnswerToTheQuestion