kw as
Зарезервированное слово
Список слов: §1.4
Синтаксис
Import = ( Ident | OpSymbol ) [ "as" Ident ] ;Env = Expr [ "as" Ident ] ;Postfix = Primary { "(" [ Args ] ")" [ TrailingBlock ] | "[" Expr "]" | "." ( Ident | IntLit | "[" Expr "]" )
| "?." Ident | "?" | "!" | "as" Type | "is" Type } ;Грамматика: Прил. A
Определяется в
- 5.3 Перегрузка и пользовательские операторы — Перегрузка встроенных операторов — объявления op в impl
- 5.2 Приоритет и ассоциативность — Приоритет и ассоциативность
- 1.4 Ключевые слова — Зарезервированные (нельзя использовать как имена)
- 2.2 Импорт — Первый сегмент пути ДОЛЖЕН быть std, self, super или именем зависимости из oxl.toml.
- 3.1 Примитивы — Целочисленная арифметика.
- 13.2 Аутентификация — Провайдеры задаются в cluster { auth { …
- 16.2 C++ — import cpp "engine/math.hpp" { Vec3, Mat4, lerp } поддерживает
- 18.2 Утверждения и фикстуры — assert expr выполняется во всех профилях, включая prod (профили отключают только контракты, §6.7, и вывод dbg, §2.2); при падении печатает з
Примеры
impl Vec3 {
static op +(a: Vec3, b: Vec3) -> Vec3 => Vec3(a.x + b.x, a.y + b.y, a.z + b.z)
static op *(v: Vec3, k: f32) -> Vec3 => Vec3(v.x * k, v.y * k, v.z * k)
static op -(v: Vec3) -> Vec3 => v * -1.0
op [](i: usize) -> f32 { … } // чтение по индексу
var op [](i: usize) -> &var f32 { … } // запись по индексу
op ()(t: f32) -> Vec3 { … } // вызов как функции
static op <=>(a: Vec3, b: Vec3) -> Ordering { … }
op as Vec4 => Vec4(x, y, z, 1.0)
}— 5.3 Перегрузка и пользовательские операторы
use std.time { Duration, now }
use std.http.{Client as Http}
use self.billing { charge } // модуль своего пакета
use super.common { Money } // родительский модуль
use auth.tokens { verify } // зависимость из oxl.toml
use parsers { <|> } // импорт оператора
use std.coll.* // все pub-имена (предупреждение в библиотеках)Связанные диагностики
not-callable, not-overloadable, operator-decl, range-not-iterable, chained-comparison, bad-import-root, glob-import, import-conflict, unresolved-import, unresolved-name, cluster-auth, fixture-yield