about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Riemer <janriemer@users.noreply.github.com>2020-08-02 14:57:19 +0200
committerGitHub <noreply@github.com>2020-08-02 14:57:19 +0200
commit7835c8c06cc80b5a0d3d08c1ab1b91240a8aec52 (patch)
tree6f60453b159a96d4f134d696365cb47994871ab5
parent1e9913807841153729f92e438e6189184cbf561f (diff)
downloadrust-7835c8c06cc80b5a0d3d08c1ab1b91240a8aec52.tar.gz
rust-7835c8c06cc80b5a0d3d08c1ab1b91240a8aec52.zip
docs(marker/copy): clarify that `&T` is also `Copy`
In the current documentation about the `Copy` marker trait, there is a section
about "additional implementors", which list additional implementors of the `Copy` trait.
The fact that shared references are also `Copy` is mixed with another point,
which makes it hard to recognize and make it seem not as important.

This clarifies the fact that shared references are also `Copy`, by mentioning it as a
separate item in the list of "additional implementors".
-rw-r--r--library/core/src/marker.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/library/core/src/marker.rs b/library/core/src/marker.rs
index 56dddee7b77..255f4474ea0 100644
--- a/library/core/src/marker.rs
+++ b/library/core/src/marker.rs
@@ -347,9 +347,8 @@ pub trait StructuralEq {
 /// * Tuple types, if each component also implements `Copy` (e.g., `()`, `(i32, bool)`)
 /// * Closure types, if they capture no value from the environment
 ///   or if all such captured values implement `Copy` themselves.
-///   Note that variables captured by shared reference always implement `Copy`
-///   (even if the referent doesn't),
-///   while variables captured by mutable reference never implement `Copy`.
+/// * Variables captured by shared reference (e.g. `&T`) implement `Copy`, even if the referent (`T`) doesn't,
+///   while variables captured by mutable reference (e.g. `&mut T`) never implement `Copy`.
 ///
 /// [`Vec<T>`]: ../../std/vec/struct.Vec.html
 /// [`String`]: ../../std/string/struct.String.html