diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-11-26 20:05:19 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-11-28 21:50:09 -0800 |
| commit | 5a282ec26fc7587b94e0d86a003abcf1cfd214c1 (patch) | |
| tree | 61bb48bf508ab3f8be705ec907577992b686076d /src/libstd | |
| parent | 4a2a375fbfb02abdf51e598660c44dda6032d282 (diff) | |
core: Convert some records to structs
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/rope.rs | 10 | ||||
| -rw-r--r-- | src/libstd/time.rs | 32 |
2 files changed, 23 insertions, 19 deletions
diff --git a/src/libstd/rope.rs b/src/libstd/rope.rs index 5df4fc10a03..5aa19c4f785 100644 --- a/src/libstd/rope.rs +++ b/src/libstd/rope.rs @@ -1206,9 +1206,11 @@ mod node { (*it).leaf = option::None; return option::None } else { - let {ch, next} = + let range = str::char_range_at(*aleaf.content, (*it).leaf_byte_pos + aleaf.byte_offset); + let ch = range.ch; + let next = range.next; (*it).leaf_byte_pos = next - aleaf.byte_offset; return option::Some(ch) } @@ -1283,9 +1285,9 @@ mod tests { equal = false; } break; } option::Some(c) => { - let {ch, next} = str::char_range_at(*sample, string_iter); - string_iter = next; - if ch != c { equal = false; break; } + let range = str::char_range_at(*sample, string_iter); + string_iter = range.next; + if range.ch != c { equal = false; break; } } } } diff --git a/src/libstd/time.rs b/src/libstd/time.rs index d8cbfbadb1f..3b8d2996146 100644 --- a/src/libstd/time.rs +++ b/src/libstd/time.rs @@ -277,12 +277,12 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> { let mut i = 0u; while i < digits { - let {ch, next} = str::char_range_at(str::from_slice(ss), pos); - pos = next; + let range = str::char_range_at(str::from_slice(ss), pos); + pos = range.next; - match ch { + match range.ch { '0' .. '9' => { - value = value * 10_i32 + (ch as i32 - '0' as i32); + value = value * 10_i32 + (range.ch as i32 - '0' as i32); } ' ' if ws => (), _ => return None @@ -294,14 +294,14 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> { } fn parse_char(s: &str, pos: uint, c: char) -> Result<uint, ~str> { - let {ch, next} = str::char_range_at(s, pos); + let range = str::char_range_at(s, pos); - if c == ch { - Ok(next) + if c == range.ch { + Ok(range.next) } else { Err(fmt!("Expected %?, found %?", str::from_char(c), - str::from_char(ch))) + str::from_char(range.ch))) } } @@ -619,19 +619,19 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> { let mut pos = pos; let len = str::len(s); while pos < len { - let {ch, next} = str::char_range_at(s, pos); - pos = next; - if ch == ' ' { break; } + let range = str::char_range_at(s, pos); + pos = range.next; + if range.ch == ' ' { break; } } Ok(pos) } } 'z' => { - let {ch, next} = str::char_range_at(s, pos); + let range = str::char_range_at(s, pos); - if ch == '+' || ch == '-' { - match match_digits(s, next, 4u, false) { + if range.ch == '+' || range.ch == '-' { + match match_digits(s, range.next, 4u, false) { Some(item) => { let (v, pos) = item; if v == 0_i32 { @@ -674,7 +674,9 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> { let mut result = Err(~"Invalid time"); while !rdr.eof() && pos < len { - let {ch, next} = str::char_range_at(s, pos); + let range = str::char_range_at(s, pos); + let ch = range.ch; + let next = range.next; match rdr.read_char() { '%' => { |
