kw infix
Контекстное слово — объявление оператора (§5.3)
Список слов: §1.4
Синтаксис
Operator = "operator" OpSymbol [ Generics ] "(" Params ")" "->" Type
( ( "infixl" | "infixr" | "infix" ) IntLit | "prefix" ) ( Block | "=>" Expr ) ;Грамматика: Прил. A
Определяется в
- 5.3 Перегрузка и пользовательские операторы — Перегрузка встроенных операторов — объявления op в impl
- 1.4 Ключевые слова — Зарезервированные (нельзя использовать как имена)
Примеры
operator <|> <T>(a: Parser<T>, b: Parser<T>) -> Parser<T> infixl 3 => a.orElse(b)
operator ~~ (s: str, re: Regex) -> bool infix 4 => re.matches(s)
operator ^^ (a: f64, b: f64) -> f64 infixr 12 => a.pow(b)
operator ¬ (b: Bits) -> Bits prefix => b.invert()— 5.3 Перегрузка и пользовательские операторы
Связанные диагностики
not-callable, not-overloadable, operator-decl, range-not-iterable