op !=
!=
Приоритет: 4 Ассоциативность: нет (a < b < c — ошибка)
Определяется в
- 5.2 Приоритет и ассоциативность — Приоритет и ассоциативность
- 5.3 Перегрузка и пользовательские операторы — Перегрузка встроенных операторов — объявления op в impl
- 1.6 Операторы и разделители — + - * / % ** +% -% % +| -| | & | ^ ~ << >> && || !
- 4.6 Интерфейсы — Интерфейсы структурные
- 4.2 data — Поле: видимость?
Примеры
pub(api) interface Storage {
fn get(k: str) -> bytes? io
var fn put(k: str, v: bytes) io
fn has(k: str) -> bool io => get(k) != none // метод по умолчанию
}
interface ReadWrite { embed Reader; embed Writer }
interface Container<T> { type Item = T; fn items() -> iter<T> }
@explicit interface Persistent { fn key() -> str }
assert FileStorage: Storage // статическая проверкаpub(api) data User {
pub(api) id: UserId
pub(api) name: Name
pub(api) email: Email? @since(2)
role: Role = Role.User
createdAt: Time = now()
invariant name != "admin" || role == Role.Admin
}— 4.2 data
Связанные диагностики
chained-comparison, not-callable, not-overloadable, operator-decl, range-not-iterable, invalid-char, explicit-interface, interface-not-satisfied, unknown-field