@@ -2862,13 +2862,13 @@ call to the method `make_string`.
28622862Types in Rust are categorized into kinds, based on various properties of the components of the type.
28632863The kinds are:
28642864
2865- ` Const `
2865+ ` Freeze `
28662866 : Types of this kind are deeply immutable;
28672867 they contain no mutable memory locations directly or indirectly via pointers.
2868- ` Owned `
2868+ ` Send `
28692869 : Types of this kind can be safely sent between tasks.
28702870 This kind includes scalars, owning pointers, owned closures, and
2871- structural types containing only other owned types. All ` Owned ` types are ` Static ` .
2871+ structural types containing only other owned types. All ` Send ` types are ` Static ` .
28722872` Static `
28732873 : Types of this kind do not contain any borrowed pointers;
28742874 this can be a useful guarantee for code that breaks borrowing assumptions using [ ` unsafe ` operations] ( #unsafe-functions ) .
@@ -2882,7 +2882,7 @@ The kinds are:
28822882 trait provides a single method ` finalize ` that takes no parameters, and is run
28832883 when values of the type are dropped. Such a method is called a "destructor",
28842884 and are always executed in "top-down" order: a value is completely destroyed
2885- before any of the values it owns run their destructors. Only ` Owned ` types
2885+ before any of the values it owns run their destructors. Only ` Send ` types
28862886 that do not implement ` Copy ` can implement ` Drop ` .
28872887
28882888> ** Note:** The ` finalize ` method may be renamed in future versions of Rust.
@@ -2968,10 +2968,10 @@ frame they are allocated within.
29682968A task owns all memory it can * safely* reach through local variables,
29692969as well as managed, owning and borrowed pointers.
29702970
2971- When a task sends a value that has the ` Owned ` trait to another task,
2971+ When a task sends a value that has the ` Send ` trait to another task,
29722972it loses ownership of the value sent and can no longer refer to it.
29732973This is statically guaranteed by the combined use of "move semantics",
2974- and the compiler-checked _ meaning_ of the ` Owned ` trait:
2974+ and the compiler-checked _ meaning_ of the ` Send ` trait:
29752975it is only instantiated for (transitively) sendable kinds of data constructor and pointers,
29762976never including managed or borrowed pointers.
29772977
@@ -3116,7 +3116,7 @@ These include:
31163116 - read-only and read-write shared variables with various safe mutual exclusion patterns
31173117 - simple locks and semaphores
31183118
3119- When such facilities carry values, the values are restricted to the [ ` Owned ` type-kind] ( #type-kinds ) .
3119+ When such facilities carry values, the values are restricted to the [ ` Send ` type-kind] ( #type-kinds ) .
31203120Restricting communication interfaces to this kind ensures that no borrowed or managed pointers move between tasks.
31213121Thus access to an entire data structure can be mediated through its owning "root" value;
31223122no further locking or copying is required to avoid data races within the substructure of such a value.
0 commit comments