rustc: Implement "deriving" for monomorphic structs via a syntax extension. r=brson
This commit is contained in:
parent
8f22582e9f
commit
a7aecc46a5
6 changed files with 450 additions and 0 deletions
16
src/test/run-pass/deriving-via-extension-c-enum.rs
Normal file
16
src/test/run-pass/deriving-via-extension-c-enum.rs
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#[deriving_eq]
|
||||
enum Foo {
|
||||
Bar,
|
||||
Baz,
|
||||
Boo
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let a = Bar;
|
||||
let b = Bar;
|
||||
assert a == b;
|
||||
assert !(a != b);
|
||||
assert a.eq(&b);
|
||||
assert !a.ne(&b);
|
||||
}
|
||||
|
||||
16
src/test/run-pass/deriving-via-extension-struct.rs
Normal file
16
src/test/run-pass/deriving-via-extension-struct.rs
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#[deriving_eq]
|
||||
struct Foo {
|
||||
x: int,
|
||||
y: int,
|
||||
z: int,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let a = Foo { x: 1, y: 2, z: 3 };
|
||||
let b = Foo { x: 1, y: 2, z: 3 };
|
||||
assert a == b;
|
||||
assert !(a != b);
|
||||
assert a.eq(&b);
|
||||
assert !a.ne(&b);
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue