@@ -53,7 +53,7 @@ fn create(nbits: uint, init: bool) -> t {
53
53
ret @{ storage : storage, nbits : nbits} ;
54
54
}
55
55
56
- fn process ( op : block ( uint , uint ) -> uint , v0 : t , v1 : t ) -> bool {
56
+ fn process ( v0 : t , v1 : t , op : block ( uint , uint ) -> uint ) -> bool {
57
57
let len = vec:: len ( v1. storage ) ;
58
58
assert ( vec:: len ( v0. storage ) == len) ;
59
59
assert ( v0. nbits == v1. nbits ) ;
@@ -70,7 +70,7 @@ fn process(op: block(uint, uint) -> uint, v0: t, v1: t) -> bool {
70
70
71
71
fn lor ( w0 : uint , w1 : uint ) -> uint { ret w0 | w1; }
72
72
73
- fn union ( v0 : t , v1 : t ) -> bool { let sub = lor; ret process( sub , v0, v1) ; }
73
+ fn union ( v0 : t , v1 : t ) -> bool { let sub = lor; ret process( v0, v1, sub ) ; }
74
74
75
75
fn land ( w0 : uint , w1 : uint ) -> uint { ret w0 & w1; }
76
76
@@ -91,7 +91,7 @@ True if `v0` was changed
91
91
*/
92
92
fn intersect ( v0 : t , v1 : t ) -> bool {
93
93
let sub = land;
94
- ret process( sub , v0, v1) ;
94
+ ret process( v0, v1, sub ) ;
95
95
}
96
96
97
97
fn right ( _w0 : uint , w1 : uint ) -> uint { ret w1; }
@@ -109,7 +109,7 @@ Returns:
109
109
110
110
True if `v0` was changed
111
111
*/
112
- fn assign ( v0 : t , v1 : t ) -> bool { let sub = right; ret process( sub , v0, v1) ; }
112
+ fn assign ( v0 : t , v1 : t ) -> bool { let sub = right; ret process( v0, v1, sub ) ; }
113
113
114
114
/*
115
115
Function: clone
0 commit comments