/* Page prose (zh-Hans) */
"Sendable" = "# `Sendable`：哪些值可以安全地跨越边界传递\n\n每当工作跨越一个并发边界（进入一个 `Task`、到一个 actor 上、在两个任务之间），就有一个值从一个隔离域传递到另一个隔离域。Swift 必须回答的问题是：**这样共享这个值安全吗？** 答案是一个协议。\n\n**`Sendable` 就是把一个类型标记为可以安全地跨越并发边界传递的协议**：之所以安全，是因为共享它不会引起 data race。\n\n哪些类型符合条件？\n\n* **值类型**（struct、enum）在它们的所有成员都是 Sendable 时就是 Sendable。因为它们在赋值时会被*复制*，两个域会得到两份独立的副本：没有共享，没有可竞争的东西。你的大多数 struct 都是自动 Sendable 的；你很少会写出这个词。\n* **不可变的 final 类**可以是 Sendable。如果一个类是 `final`，而且每个存储属性都是某个 Sendable 类型的 `let`，那就没有可变的共享状态，所以共享这个引用是安全的。\n* **带有可变状态的类*不是* Sendable。** 类是一个*引用*：把它交给两个域，它们就共享一个对象。如果任何一方修改它，那就是[并发的陷阱](Concurrency%20Hazards.playgroundchapter/Overview)一章里那个经典的 data race。Swift 拒绝把这样的类型称为 Sendable，而这个拒绝正是它的特性。\n\n这里有一个不费吹灰之力就是 Sendable 的朴素值类型。这个标注是可选的（Swift 会推断出来），但为了清晰起见还是展示出来：";
"SendableNotice" = "你可以自由地把一个 `Receipt` 传进任何任务；每一方都得到它自己的副本。\n\n[上一页](@previous)  |  第 7 / 11 页  |  [下一页: 修复一个非 Sendable 类型](@next)";
