]> git.lizzy.rs Git - rust.git/commitdiff
str -- borrow fields of self for use in closure since self.iter is borrowed
authorNiko Matsakis <niko@alum.mit.edu>
Fri, 7 Feb 2014 22:00:45 +0000 (17:00 -0500)
committerNiko Matsakis <niko@alum.mit.edu>
Tue, 11 Feb 2014 21:55:24 +0000 (16:55 -0500)
src/libstd/str.rs

index 3225bb3a6789c30f180627ea675c748ccadde76b..bc5991c6eebd01b647cc3631ae1b373b9b25ef46 100644 (file)
@@ -625,15 +625,17 @@ fn next(&mut self) -> Option<char> {
 
         if !self.sorted {
             for ch in self.iter {
+                let buffer = &mut self.buffer;
+                let sorted = &mut self.sorted;
                 decomposer(ch, |d| {
                     let class = canonical_combining_class(d);
-                    if class == 0 && !self.sorted {
-                        canonical_sort(self.buffer);
-                        self.sorted = true;
+                    if class == 0 && !*sorted {
+                        canonical_sort(*buffer);
+                        *sorted = true;
                     }
-                    self.buffer.push((d, class));
+                    buffer.push((d, class));
                 });
-                if self.sorted { break }
+                if *sorted { break }
             }
         }