diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2014-02-07 17:00:45 -0500 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2014-02-11 16:55:24 -0500 |
| commit | e3ca1c2fcac616d796c648b87bddd5acfb11bdda (patch) | |
| tree | de9bf785ffa440f33828d360c8b724934f066599 | |
| parent | b0ac40a243b1385ecf0bc25505fa3e65f32013c3 (diff) | |
| download | rust-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.rs | 12 |
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 } } } |
