about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2014-02-07 17:00:45 -0500
committerNiko Matsakis <niko@alum.mit.edu>2014-02-11 16:55:24 -0500
commite3ca1c2fcac616d796c648b87bddd5acfb11bdda (patch)
treede9bf785ffa440f33828d360c8b724934f066599
parentb0ac40a243b1385ecf0bc25505fa3e65f32013c3 (diff)
downloadrust-e3ca1c2fcac616d796c648b87bddd5acfb11bdda.tar.gz
rust-e3ca1c2fcac616d796c648b87bddd5acfb11bdda.zip
str -- borrow fields of self for use in closure since self.iter is borrowed
-rw-r--r--src/libstd/str.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/libstd/str.rs b/src/libstd/str.rs
index 3225bb3a678..bc5991c6eeb 100644
--- a/src/libstd/str.rs
+++ b/src/libstd/str.rs
@@ -625,15 +625,17 @@ impl<'a> Iterator<char> for Normalizations<'a> {
 
         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 }
             }
         }