kw self
Зарезервированное слово
Список слов: §1.4
Синтаксис
Primary = Literal | Path | "it" | "self" | "(" Expr { "," Expr } ")" | ListLit | MapLit
| StructLit | Lambda | Block | If | Match | For | While | Loop | Scope | Select | Query
| "spawn" ( Postfix | Block ) | "await" Unary | "atomic" [ "(" Args ")" ] Block
| "return" [ Expr ] | "fail" Expr | "yield" Expr | "respond" Expr | "break" [ Label ] [ Expr ]
| "continue" [ Label ] | "emit" Path "(" Expr ")" | "unsafe" Block | "blocking" Block
| "comptime" Block | "." Ident [ "(" [ Args ] ")" ] ;Грамматика: Прил. A
Определяется в
- 4.5 impl и методы — Внутри метода доступны self и Self.
- 4.7 Встраивание и переопределение — Наследования реализации нет.
- 2.2 Импорт — Первый сегмент пути ДОЛЖЕН быть std, self, super или именем зависимости из oxl.toml.
- 3.6 Псевдонимы, новые и уточнённые типы — distinct T создаёт новый номинальный тип с представлением T.
- 6.5 Ошибки — Исключений нет. Ошибка — значение типа, помеченного @error, возвращаемое через объединение.
- 7.2 Заимствования — &x создаёт разделяемое заимствование, &var x — исключительное.
- 4.6 Интерфейсы — Интерфейсы структурные
- 1.4 Ключевые слова — Зарезервированные (нельзя использовать как имена)
Примеры
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-имена (предупреждение в библиотеках)Связанные диагностики
impl-foreign-type, unknown-method, ambiguous-embed, missing-override, override-without-open, bad-import-root, glob-import, import-conflict, unresolved-import, unresolved-name, refinement-violated, fail-type, question-context, unhandled-error