File tree Expand file tree Collapse file tree 2 files changed +38
-1
lines changed
branches/try2/src/libcore Expand file tree Collapse file tree 2 files changed +38
-1
lines changed Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ refs/heads/snap-stage3: eb8fd119c65c67f3b1b8268cc7341c22d39b7b61
5
5
refs/heads/try: d324a424d8f84b1eb049b12cf34182bda91b0024
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
- refs/heads/try2: 645bd98b602500ef910685eeeb899df298221e35
8
+ refs/heads/try2: 3657d5606d7ea5607a0670341a57c3ef20202ea0
9
9
refs/heads/incoming: d9317a174e434d4c99fc1a37fd7dc0d2f5328d37
10
10
refs/heads/dist-snap: 22efa39382d41b084fde1719df7ae8ce5697d8c9
11
11
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
Original file line number Diff line number Diff line change @@ -428,6 +428,25 @@ pub mod linear {
428
428
option:: unwrap ( move value)
429
429
}
430
430
}
431
+
432
+ impl < K : Hash IterBytes Eq , V : Eq > LinearMap < K , V > : cmp:: Eq {
433
+ pure fn eq ( & self , other : & LinearMap < K , V > ) -> bool {
434
+ if self . len ( ) != other. len ( ) { return false ; }
435
+
436
+ for self . each |key, value| {
437
+ match other. find_ref ( key) {
438
+ None => return false ,
439
+ Some ( v) => if value != v { return false } ,
440
+ }
441
+ }
442
+
443
+ return true ;
444
+ }
445
+
446
+ pure fn ne ( & self , other : & LinearMap < K , V > ) -> bool {
447
+ !self . eq ( other)
448
+ }
449
+ }
431
450
}
432
451
433
452
#[ test]
@@ -538,4 +557,22 @@ pub mod test {
538
557
Some ( v) => assert * v == 2
539
558
}
540
559
}
560
+
561
+ #[ test]
562
+ pub fn test_eq ( ) {
563
+ let mut m1 = ~LinearMap ( ) ;
564
+ m1. insert ( 1 , 2 ) ;
565
+ m1. insert ( 2 , 3 ) ;
566
+ m1. insert ( 3 , 4 ) ;
567
+
568
+ let mut m2 = ~LinearMap ( ) ;
569
+ m2. insert ( 1 , 2 ) ;
570
+ m2. insert ( 2 , 3 ) ;
571
+
572
+ assert m1 != m2;
573
+
574
+ m2. insert ( 3 , 4 ) ;
575
+
576
+ assert m1 == m2;
577
+ }
541
578
}
You can’t perform that action at this time.
0 commit comments