blob: cc76751e27f4b72b9357a671a69a94c5280c5224 [file] [log] [blame]
Seth Pink6f9eb6a2013-02-21 04:57:271// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution and at
3// http://rust-lang.org/COPYRIGHT.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
Andrew Paseltinerec960962013-03-20 15:42:5911#[deriving(Eq)]
Seth Pink6f9eb6a2013-02-21 04:57:2712struct Foo(int, int, ~str);
13
14pub fn main() {
15 let a1 = Foo(5, 6, ~"abc");
16 let a2 = Foo(5, 6, ~"abc");
17 let b = Foo(5, 7, ~"def");
18
Patrick Walton1e915952013-03-29 01:39:0919 assert!(a1 == a1);
Corey Richardsoncc57ca02013-05-19 02:02:4520 assert!(a2 == a1);
Patrick Walton1e915952013-03-29 01:39:0921 assert!(!(a1 == b));
Seth Pink6f9eb6a2013-02-21 04:57:2722
Patrick Walton1e915952013-03-29 01:39:0923 assert!(a1 != b);
24 assert!(!(a1 != a1));
Corey Richardsoncc57ca02013-05-19 02:02:4525 assert!(!(a2 != a1));
Seth Pink6f9eb6a2013-02-21 04:57:2726}