TL; DR Можно ли уговорить компилятор принять символ объединения в качестве постфиксного оператора?
Ссылки на Swift.org и GitHub и этот полезный смысл предполагают, что объединение символов (например, U + 0300 и далее) может служить операторами в Swift.
При разумной реализации (здесь опущено) я могу сказать «Fiat Lux», и есть
prefix operator ‖ // Find the norm.
postfix operator ‖ // Does nothing.
func / // Scalar division.
, который позволяет
let vHat = v / ‖v‖ // Readable as math.
или даже
let v̂ = v / ‖v‖ // Loving it.
OCD во мне хочет теперь использовать объединяющую окружность как (topfix) оператор, подобный этому:
let normalizedV = v̂ // Combining char is really a postfix.
Поэтому я прыгаю и пытаюсь написать:
postfix operator ^ // Want this to be *combining* circumflex.
postfix func ^(v: Vector) -> Vector { v / ‖v‖ }
и может сделать это с простым старым U + 005E круговым, но получаю (различные) ошибки компилятора, когда я пытаюсь комбинировать с круговым U + 0302.
![enter image description here](https://i.stack.imgur.com/QN2sK.png)