From 3769a964e8447207c678812db044bbbd77bd9bd8 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 4 Dec 2017 12:06:27 -0500 Subject: [PATCH] Detail on Clone using Copy --- second-edition/src/appendix-03-derivable-traits.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/second-edition/src/appendix-03-derivable-traits.md b/second-edition/src/appendix-03-derivable-traits.md index 4374cf9a5..df61a3a56 100644 --- a/second-edition/src/appendix-03-derivable-traits.md +++ b/second-edition/src/appendix-03-derivable-traits.md @@ -152,7 +152,8 @@ no other code is necessary. The `Copy` trait does not define any methods to prevent programmers from overloading those methods violating the assumption that no arbitrary code is being run. You can derive `Copy` on any type whose parts all implement `Copy`. The `Copy` trait can only be applied to types that -also implement `Clone`. +also implement `Clone`, as a type that implements `Copy` has a trivial +implementation of `Clone`, doing the same thing as `Copy`. An example of when `Copy` is required is when storing values of that type in a `Cell`, a data structure that provides interior mutability by moving values