From e3ca1c2fcac616d796c648b87bddd5acfb11bdda Mon Sep 17 00:00:00 2001 From: Niko Matsakis <niko@alum.mit.edu> Date: Fri, 7 Feb 2014 17:00:45 -0500 Subject: [PATCH] str -- borrow fields of self for use in closure since self.iter is borrowed --- src/libstd/str.rs | 12 +++++++----- 1 file 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 } } }