Skip to content

Commit 9cde0ab

Browse files
committed
---
yaml --- r: 35504 b: refs/heads/master c: fa4fbd5 h: refs/heads/master v: v3
1 parent 3b89daa commit 9cde0ab

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: ed4fac01b5e207df0f0c7e0ea964bd3088826d27
2+
refs/heads/master: fa4fbd51f6f8248e4308e079cbf2fc5588e08955
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: eb8fd119c65c67f3b1b8268cc7341c22d39b7b61
55
refs/heads/try: d324a424d8f84b1eb049b12cf34182bda91b0024

trunk/doc/rust.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2740,11 +2740,11 @@ The kinds are:
27402740
`Const`
27412741
: Types of this kind are deeply immutable;
27422742
they contain no mutable memory locations directly or indirectly via pointers.
2743-
`Send`
2743+
`Owned`
27442744
: Types of this kind can be safely sent between tasks.
27452745
This kind includes scalars, owning pointers, owned closures, and
2746-
structural types containing only other sendable types.
2747-
`Owned`
2746+
structural types containing only other owned types. All `Owned` types are `Static`.
2747+
`Static`
27482748
: Types of this kind do not contain any borrowed pointers;
27492749
this can be a useful guarantee for code that breaks borrowing assumptions using [`unsafe` operations](#unsafe-functions).
27502750
`Copy`
@@ -2833,10 +2833,10 @@ frame they are allocated within.
28332833
A task owns all memory it can *safely* reach through local variables,
28342834
as well as managed, owning and borrowed pointers.
28352835

2836-
When a task sends a value that has the `Send` trait to another task,
2836+
When a task sends a value that has the `Owned` trait to another task,
28372837
it loses ownership of the value sent and can no longer refer to it.
28382838
This is statically guaranteed by the combined use of "move semantics",
2839-
and the compiler-checked _meaning_ of the `Send` trait:
2839+
and the compiler-checked _meaning_ of the `Owned` trait:
28402840
it is only instantiated for (transitively) sendable kinds of data constructor and pointers,
28412841
never including managed or borrowed pointers.
28422842

@@ -2971,7 +2971,7 @@ These include:
29712971
- read-only and read-write shared variables with various safe mutual exclusion patterns
29722972
- simple locks and semaphores
29732973

2974-
When such facilities carry values, the values are restricted to the [`Send` type-kind](#type-kinds).
2974+
When such facilities carry values, the values are restricted to the [`Owned` type-kind](#type-kinds).
29752975
Restricting communication interfaces to this kind ensures that no borrowed or managed pointers move between tasks.
29762976
Thus access to an entire data structure can be mediated through its owning "root" value;
29772977
no further locking or copying is required to avoid data races within the substructure of such a value.

trunk/doc/tutorial.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1914,9 +1914,9 @@ types by the compiler, and may not be overridden:
19141914
`copy` operator. All types are copyable unless they have destructors or
19151915
contain types with destructors.
19161916

1917-
* `Send` - Sendable (owned) types. All types are sendable unless they
1918-
contain managed boxes, managed closures, or otherwise managed
1919-
types. Sendable types may or may not be copyable.
1917+
* `Owned` - Owned types. Types are owned unless they contain managed
1918+
boxes, managed closures, or borrowed pointers. Owned types may or
1919+
may not be copyable.
19201920

19211921
* `Const` - Constant (immutable) types. These are types that do not contain
19221922
mutable fields.
@@ -1949,7 +1949,7 @@ may call it.
19491949
## Declaring and implementing traits
19501950

19511951
A trait consists of a set of methods, without bodies, or may be empty,
1952-
as is the case with `Copy`, `Send`, and `Const`. For example, we could
1952+
as is the case with `Copy`, `Owned`, and `Const`. For example, we could
19531953
declare the trait `Printable` for things that can be printed to the
19541954
console, with a single method:
19551955

0 commit comments

Comments
 (0)