enum Color { Red, Green, Blue, } impl Color { fn display(&self) { match self { Color::Red => println!("Red!"), Color::Green => println!("Green!"), Color::Blue => println!("Blue!"), } } } impl Clone for Color { fn clone(&self) -> Self { match self { Color::Red => Color::Red, Color::Green => Color::Green, Color::Blue => Color::Blue, } } } fn main() { let c = Color::Red; c.display(); //let c1 = c; let c1 = c.clone(); c1.display(); c.display() }