File tree 1 file changed +37
-0
lines changed
1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change
1
+ // Copyright 2014 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
+
11
+ #![ feature( default_type_params) ]
12
+
13
+ #[ deriving( PartialEq ) ]
14
+ struct Bar ;
15
+ struct Baz ;
16
+ struct Foo ;
17
+ struct Fu ;
18
+
19
+ impl PartialEq for Baz { fn eq ( & self , _: & Baz ) -> bool { true } }
20
+
21
+ impl PartialEq < Fu > for Foo { fn eq ( & self , _: & Fu ) -> bool { true } }
22
+ impl PartialEq < Foo > for Fu { fn eq ( & self , _: & Foo ) -> bool { true } }
23
+
24
+ impl PartialEq < Bar > for Foo { fn eq ( & self , _: & Bar ) -> bool { false } }
25
+ impl PartialEq < Foo > for Bar { fn eq ( & self , _: & Foo ) -> bool { false } }
26
+
27
+ fn main ( ) {
28
+ assert ! ( Bar != Foo ) ;
29
+ assert ! ( Foo != Bar ) ;
30
+
31
+ assert ! ( Bar == Bar ) ;
32
+
33
+ assert ! ( Baz == Baz ) ;
34
+
35
+ assert ! ( Foo == Fu ) ;
36
+ assert ! ( Fu == Foo ) ;
37
+ }
You can’t perform that action at this time.
0 commit comments