kw const
Зарезервированное слово
Список слов: §1.4
Синтаксис
GParam = Ident [ ":" Bounds ] [ "=" Type ] | "const" Ident ":" Type | "effect" Ident ;Const = "const" Ident [ ":" Type ] "=" Expr ;Грамматика: Прил. A
Определяется в
- 4.5 impl и методы — Внутри метода доступны self и Self.
- 4.8 Дженерики — Параметры: типовые T, константные const N
- 2.4 Точки входа и порядок запуска — Программа — пакет, содержащий хотя бы одно из
- 4.1 Переменные и константы — Изменяемых глобальных переменных без sync нет.
- 4.9 Атрибуты — Синтаксис: @имя или @имя(аргументы) перед объявлением, полем, параметром или rpc.
- 14.1 Статическая конфигурация — config Имя { … } объявляет типизированный конфиг.
- 15.1 comptime — comptime fn выполняется только при компиляции; comptime { …
- 1.4 Ключевые слова — Зарезервированные (нельзя использовать как имена)
Примеры
impl Money {
pub const ZERO: Money = Money{ minor: 0 }
pub const MAX_TRANSFER: Money = Money.rub(1_000_000)
}
interface Codec<T> { const NAME: str } // реализация обязана задать значение
impl Codec<Point> for GeoHashCodec { const NAME: str = "geohash" }fn max<T>(a: T, b: T) -> T where T: Ord => if a > b { a } else { b }
data Page<T> where T: Serializable { items: List<T>; next: Cursor? }
data Matrix<const R: usize, const C: usize> { cells: [f64; R * C] }
fn pack<T>(x: T) -> bytes where T: Serializable, size_of(T) <= 4KiB
data Cache<K: Hash + Eq, V = bytes> { … }Связанные диагностики
impl-foreign-type, unknown-method, bound-not-satisfied, generic-args, no-entry-point, global-mutable, mutate-immutable, deprecated, config-type, comptime-error, not-comptime