kw yield
Зарезервированное слово
Список слов: §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
Определяется в
- 10.3 Стримы — Тип stream<T, E = never>.
- 5.8 Прочие выражения — defer e — выполняет e при выходе из блока (в том числе при fail, return, отмене), в обратном порядке объявления.
- 18.2 Утверждения и фикстуры — assert expr выполняется во всех профилях, включая prod (профили отключают только контракты, §6.7, и вывод dbg, §2.2); при падении печатает з
- 1.4 Ключевые слова — Зарезервированные (нельзя использовать как имена)
Примеры
fixture tempDb() -> Db {
let d = Db.open("sqlite::memory:")
yield d // тест выполняется здесь
d.close()
}
test "insert" with tempDb as db { db.insert(order) }Связанные диагностики
yield-outside-stream, fixture-yield