diff --git a/po/zh-Hans.po b/po/zh-Hans.po index c53c865f..7a90e468 100644 --- a/po/zh-Hans.po +++ b/po/zh-Hans.po @@ -74,7 +74,7 @@ msgstr "为什么选择 Rust?" #: src/SUMMARY.md:23 msgid "Compile Time Guarantees" -msgstr "" +msgstr "编译期保障" #: src/SUMMARY.md:24 msgid "Runtime Guarantees" @@ -2234,11 +2234,11 @@ msgstr "" #: src/why-rust/compile-time.md:1 msgid "# Compile Time Guarantees" -msgstr "" +msgstr "# 编译期保障" #: src/why-rust/compile-time.md:3 msgid "Static memory management at compile time:" -msgstr "" +msgstr "编译期静态内存管理:" #: src/why-rust/compile-time.md:5 msgid "" @@ -2251,12 +2251,21 @@ msgid "" "* No data races between threads.\n" "* No iterator invalidation." msgstr "" +"* 不存在未初始化的变量。\n" +"* 不存在内存泄漏(_通常情况下_,见注释)。\n" +"* 不存在“双重释放”。\n" +"* 不存在“释放后使用”。\n" +"* 不存在 `NULL` 指针。\n" +"* 不存在被遗忘的互斥锁。\n" +"* 不存在线程之间的数据竞争。\n" +"* 不存在迭代器失效。" #: src/why-rust/compile-time.md:16 msgid "" "It is possible to produce memory leaks in (safe) Rust. Some examples\n" "are:" msgstr "" +"在(安全的)Rust 中也有可能产生内存泄漏。例如:" #: src/why-rust/compile-time.md:19 msgid "" @@ -2269,12 +2278,17 @@ msgid "" "* In fact, some will consider infinitely populating a collection a memory\n" " leak and Rust does not protect from those." msgstr "" +"* 可以使用 [`Box::leak`] 来泄漏一个指针。该方法可以用于得到在运行时决定大小和初始化的静态变量\n" +"* 可以使用 [`std::mem::forget`] 来让编译器“忘记”一个值(即其析构函数不会被执行)。\n" +"* 可以使用 `Rc` 或 `Arc` 意外创建一个循环引用([reference cycle])。\n" +"* 实际上,有人认为无限填充一个集合也是一种内存泄漏,Rust 对此没有保护。" #: src/why-rust/compile-time.md:28 msgid "" "For the purpose of this course, \"No memory leaks\" should be understood\n" "as \"Pretty much no *accidental* memory leaks\"." msgstr "" +"就本课程而言,“不存在内存泄漏”应理解为“几乎没有 *意外* 内存泄漏”。" #: src/why-rust/runtime.md:1 msgid "# Runtime Guarantees"