auto merge of #7549 : sfackler/rust/docs, r=msullivan
I'm leaving the Sized kind undocumented since it isn't fully implemented yet.
This commit is contained in:
commit
e89dcb887b
@ -2869,9 +2869,6 @@ The kinds are:
|
||||
: Types of this kind can be safely sent between tasks.
|
||||
This kind includes scalars, owning pointers, owned closures, and
|
||||
structural types containing only other owned types. All `Send` types are `Static`.
|
||||
`Static`
|
||||
: Types of this kind do not contain any borrowed pointers;
|
||||
this can be a useful guarantee for code that breaks borrowing assumptions using [`unsafe` operations](#unsafe-functions).
|
||||
`Copy`
|
||||
: This kind includes all types that can be copied. All types with
|
||||
sendable kind are copyable, as are managed boxes, managed closures,
|
||||
@ -2879,14 +2876,12 @@ The kinds are:
|
||||
Types with destructors (types that implement `Drop`) can not implement `Copy`.
|
||||
`Drop`
|
||||
: This is not strictly a kind, but its presence interacts with kinds: the `Drop`
|
||||
trait provides a single method `finalize` that takes no parameters, and is run
|
||||
trait provides a single method `drop` that takes no parameters, and is run
|
||||
when values of the type are dropped. Such a method is called a "destructor",
|
||||
and are always executed in "top-down" order: a value is completely destroyed
|
||||
before any of the values it owns run their destructors. Only `Send` types
|
||||
that do not implement `Copy` can implement `Drop`.
|
||||
|
||||
> **Note:** The `finalize` method may be renamed in future versions of Rust.
|
||||
|
||||
_Default_
|
||||
: Types with destructors, closure environments,
|
||||
and various other _non-first-class_ types,
|
||||
|
@ -122,6 +122,7 @@ pub fn xor(a: bool, b: bool) -> bool { (a && !b) || (!a && b) }
|
||||
* ~~~ {.rust}
|
||||
* rusti> std::bool::implies(true, true)
|
||||
* true
|
||||
* ~~~
|
||||
*
|
||||
* ~~~ {.rust}
|
||||
* rusti> std::bool::implies(true, false)
|
||||
|
@ -18,7 +18,7 @@
|
||||
They cannot be implemented by user code, but are instead implemented
|
||||
by the compiler automatically for the types to which they apply.
|
||||
|
||||
The 4 kinds are
|
||||
The 3 kinds are
|
||||
|
||||
* Copy - types that may be copied without allocation. This includes
|
||||
scalar types and managed pointers, and exludes owned pointers. It
|
||||
|
Loading…
Reference in New Issue
Block a user