in gazebo/src/dupe.rs [159:186]
fn test_dupe_enum() {
#[derive(Clone, Dupe, Debug, PartialEq, Eq)]
struct Foo();
#[derive(Clone, Dupe, Debug, PartialEq, Eq)]
struct Foo2;
#[derive(Clone, Dupe, Debug, PartialEq, Eq)]
struct Bar(i64, bool, Foo2);
#[derive(Clone, Dupe, Debug, PartialEq, Eq)]
struct Baz {
foo: usize,
}
#[derive(Clone, Dupe, Debug, PartialEq, Eq)]
enum Qux {
Foo(),
Foo2,
Bar(Foo, Bar),
Baz { foo: Foo, bar: Bar, baz: Baz },
}
let x = Qux::Bar(Foo(), Bar(8, true, Foo2));
assert_eq!(x, x.dupe());
let x = Qux::Baz {
foo: Foo(),
bar: Bar(7, false, Foo2),
baz: Baz { foo: 9 },
};
assert_eq!(x, x.dupe());
}