Это не поддерживается, по причинам, которые дает Стюарт Сьерра. Чтобы перейти к более подробному описанию, символ &
является особым только в контексте деструктурирования, например let
или аргументах функции. Как показывает Стюарт, defprotocol
не является таким контекстом.
Но &
по-прежнему является юридическим символом, поэтому вы определили протокол с двумя функциями: bar
принимает один аргумент, названный f
, а baz
- три, названные f
, &
и gs
.
Вы не должны основывать какую-либо форму безопасности на реферере, слишком легко подделать. Кроме того, вы не всегда можете рассчитывать на то, что реферер отправляется в заголовке.