kw time
Контекстное слово — список эффектов после возвращаемого типа (§6.2)
Список слов: §1.4
Синтаксис
Effect = "io" | "net" | "db" | "time" | "rand" | Ident ;Грамматика: Прил. A
Определяется в
- 6.2 Эффекты — Набор эффектов пишется после возвращаемого типа через запятую
- 1.4 Ключевые слова — Зарезервированные (нельзя использовать как имена)
- 11.2 Транзакция базы данных — Тело выполняется в транзакции базы db.
- 15.1 comptime — comptime fn выполняется только при компиляции; comptime { …
- 17.3 Часы — now() -> Time и Instant.now() — эффект time.
- 10.2 Атрибуты rpc — Значения по умолчанию для всех rpc задаются в cluster { defaults { …
- 2.2 Импорт — Первый сегмент пути ДОЛЖЕН быть std, self, super или именем зависимости из oxl.toml.
- 10.5 Топики — рассылка по кластеру — Топик — распределённый broadcast с хранением во встроенном хранилище.
Примеры
@explicit interface Middleware { fn around(ctx: &var Ctx, next: Next) -> Response net, io, time, db }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-имена (предупреждение в библиотеках)Связанные диагностики
effects, atomic-db-effects, cross-shard-tx, comptime-error, not-comptime, attribute-not-applicable, cache-not-readonly, invalid-window, retry-not-idempotent, rpc-attr, bad-import-root, glob-import, import-conflict, unresolved-import