@@ -59,7 +59,7 @@ impl<T> Mutable for cat<T> {
59
59
}
60
60
61
61
impl < T > Map < int , T > for cat < T > {
62
- fn each ( & self , f : & fn ( & int , & T ) -> bool ) {
62
+ fn each < ' a > ( & ' a self , f : & fn ( & int , & ' a T ) -> bool ) {
63
63
let mut n = int:: abs ( self . meows ) ;
64
64
while n > 0 {
65
65
if !f ( & n, & self . name ) { break ; }
@@ -73,7 +73,7 @@ impl<T> Map<int, T> for cat<T> {
73
73
for self . each |k, _| { if !f ( k) { break ; } loop ; } ;
74
74
}
75
75
76
- fn each_value ( & self , f : & fn ( v : & T ) -> bool ) {
76
+ fn each_value < ' a > ( & ' a self , f : & fn ( v : & ' a T ) -> bool ) {
77
77
for self . each |_, v| { if !f ( v) { break ; } loop ; } ;
78
78
}
79
79
@@ -86,15 +86,15 @@ impl<T> Map<int, T> for cat<T> {
86
86
true
87
87
}
88
88
89
- fn find(& self, k: &int) -> Option<&'self T> {
89
+ fn find<'a>(&'a self, k: &int) -> Option<&'a T> {
90
90
if *k <= self.meows {
91
91
Some(&self.name)
92
92
} else {
93
93
None
94
94
}
95
95
}
96
96
97
- fn find_mut(& mut self, _k: &int) -> Option<&'self mut T> { fail!() }
97
+ fn find_mut<'a>(&'a mut self, _k: &int) -> Option<&'a mut T> { fail!() }
98
98
99
99
fn remove(&mut self, k: &int) -> bool {
100
100
if self.find(k).is_some() {
@@ -106,7 +106,7 @@ impl<T> Map<int, T> for cat<T> {
106
106
}
107
107
108
108
pub impl<T> cat<T> {
109
- fn get(& self, k: &int) -> &'self T {
109
+ fn get<'a>(&'a self, k: &int) -> &'a T {
110
110
match self.find(k) {
111
111
Some(v) => { v }
112
112
None => { fail!(~" epic fail"); }
0 commit comments