fn freeze
Moves value into an immutable shared Arc<frozen T> (§7.3).
Example:
fn main() io {
let table = freeze({"a": 1})
scope {
let t2 = table.clone()
let h = spawn lookup(t2)
print("{h.join()!}")
}
}
fn lookup(t: Shared<Map<str, i64>>) -> i64 pure => t.get("a") ?? 0Вывод
1
@intrinsic("arc.new") pub(api) fn freeze<T>(value: T) -> Arc<frozen T>С версии. 1.0.0-beta
Параметры
| Имя | Тип |
|---|---|
value | T |
Возвращает
Arc<frozen T>
Эффекты
не объявлены (чистая, пока тело не говорит иное)
Определено в: std/core/task.oxl:232