gotcharustCritical
What is the difference between Copy and Clone?
Viewed 0 times
andclonebetweenwhatthedifferencecopy
Problem
This issue seems to imply it's just an implementation detail (
memcpy vs ???), but I can't find any explicit description of the differences.Solution
Clone is designed for arbitrary duplications: a Clone implementation for a type T can do arbitrarily complicated operations required to create a new T. It is a normal trait (other than being in the prelude), and so requires being used like a normal trait, with method calls, etc. The
Copy trait represents values that can be safely duplicated via memcpy: things like reassignments and passing an argument by-value to a function are always memcpys, and so for Copy types, the compiler understands that it doesn't need to consider those a move.Context
Stack Overflow Q#31012923, score: 263
Revisions (0)
No revisions yet.