clone
The Clone
trait provides the ability to duplicate instances of types that cannot be 'implicitly copied'.In Cairo, some simple types are "implicitly copyable": when you assign them or pass them as arguments, the receiver will get a copy, leaving the original value in place. These types do not require allocation to copy, and are not at risk of accessing un-allocated memory, so the compiler considers them cheap and safe to copy. For other types, copies must be made explicitly, by convention implementing the Clone
trait and calling the Clone::clone
method. # Examples
let arr = array![1, 2, 3];
let cloned_arr = arr.clone();
assert!(arr == cloned_arr);
You can use the #[derive(Clone)]
attribute to automatically generate the implementation for your type:
Fully qualified path: core::clone