From 0f2e20cc49343f371c01ff358065d1e45b6a5268 Mon Sep 17 00:00:00 2001 From: Headless Date: Sun, 28 Dec 2014 14:03:54 +0300 Subject: [PATCH] fix char_len warnings https://github.com/rust-lang/rust/blob/3c60bc02ce6de2823d0b837f90d5db0077fce6f7/src/libcollections/str.rs#L1101 --- src/cut/cut.rs | 2 +- src/fold/fold.rs | 6 +++--- src/split/split.rs | 8 ++++---- src/touch/touch.rs | 2 +- src/wc/wc.rs | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/cut/cut.rs b/src/cut/cut.rs index 9d793204d..4d0b9f0e1 100644 --- a/src/cut/cut.rs +++ b/src/cut/cut.rs @@ -518,7 +518,7 @@ pub fn uumain(args: Vec) -> int { match matches.opt_str("delimiter") { Some(delim) => { - if delim.as_slice().char_len() != 1 { + if delim.as_slice().chars().count() != 1 { Err("the delimiter must be a single character".to_string()) } else { Ok(Mode::Fields(ranges, diff --git a/src/fold/fold.rs b/src/fold/fold.rs index 34fc38078..08a12cc6a 100644 --- a/src/fold/fold.rs +++ b/src/fold/fold.rs @@ -136,7 +136,7 @@ fn fold_file(file: BufferedReader, bytes: bool, spaces: bool, i += slice.len(); } } else { - let mut len = line.char_len(); + let mut len = line.chars().count(); let newline = line.ends_with("\n"); if newline { if len == 1 { @@ -156,7 +156,7 @@ fn fold_file(file: BufferedReader, bytes: bool, spaces: bool, if spaces && i + 1 < len { match rfind_whitespace(slice) { Some(m) => { - let routput = slice.slice_chars(m + 1, slice.char_len()); + let routput = slice.slice_chars(m + 1, slice.chars().count()); let ncount = routput.chars().fold(0u, |out, ch: char| { out + match ch { '\t' => 8, @@ -219,7 +219,7 @@ fn fold_file(file: BufferedReader, bytes: bool, spaces: bool, fn rfind_whitespace(slice: &str) -> Option { for (i, ch) in slice.chars().rev().enumerate() { if ch.is_whitespace() { - return Some(slice.char_len() - (i + 1)); + return Some(slice.chars().count() - (i + 1)); } } None diff --git a/src/split/split.rs b/src/split/split.rs index f6d99fb86..9755f6797 100644 --- a/src/split/split.rs +++ b/src/split/split.rs @@ -176,7 +176,7 @@ impl Splitter for ByteSplitter { fn consume(&mut self, control: &mut SplitControl) -> String { let line = control.current_line.clone(); - let n = std::cmp::min(line.as_slice().char_len(), self.bytes_to_write); + let n = std::cmp::min(line.as_slice().chars().count(), self.bytes_to_write); self.bytes_to_write -= n; if n == 0 { self.bytes_to_write = self.saved_bytes_to_write; @@ -244,7 +244,7 @@ fn split(settings: &Settings) -> int { let mut writer = io::BufferedWriter::new(box io::stdio::stdout_raw() as Box); let mut fileno = 0; loop { - if control.current_line.as_slice().char_len() == 0 { + if control.current_line.as_slice().chars().count() == 0 { match reader.read_line() { Ok(a) => { control.current_line = a; } Err(_) => { break; } @@ -270,10 +270,10 @@ fn split(settings: &Settings) -> int { let consumed = splitter.consume(&mut control); crash_if_err!(1, writer.write_str(consumed.as_slice())); - let advance = consumed.as_slice().char_len(); + let advance = consumed.as_slice().chars().count(); let clone = control.current_line.clone(); let sl = clone.as_slice(); - control.current_line = sl.slice(advance, sl.char_len()).to_string(); + control.current_line = sl.slice(advance, sl.chars().count()).to_string(); } 0 } diff --git a/src/touch/touch.rs b/src/touch/touch.rs index f6ec1929c..6c99b9880 100644 --- a/src/touch/touch.rs +++ b/src/touch/touch.rs @@ -161,7 +161,7 @@ fn parse_date(str: &str) -> u64 { } fn parse_timestamp(str: &str) -> u64 { - let format = match str.char_len() { + let format = match str.chars().count() { 15 => "%Y%m%d%H%M.%S", 12 => "%Y%m%d%H%M", 13 => "%y%m%d%H%M.%S", diff --git a/src/wc/wc.rs b/src/wc/wc.rs index e473ea4b3..1548b30c1 100644 --- a/src/wc/wc.rs +++ b/src/wc/wc.rs @@ -130,7 +130,7 @@ pub fn wc(files: Vec, matches: &Matches) -> StdResult<(), int> { match from_utf8(raw_line.as_slice()) { Ok(line) => { word_count += line.words().count(); - current_char_count = line.char_len(); + current_char_count = line.chars().count(); char_count += current_char_count; }, Err(..) => {