diff options
Diffstat (limited to 'src/librustc')
| -rw-r--r-- | src/librustc/hir/print.rs | 11 | ||||
| -rw-r--r-- | src/librustc/lib.rs | 2 | ||||
| -rw-r--r-- | src/librustc/session/mod.rs | 6 |
3 files changed, 10 insertions, 9 deletions
diff --git a/src/librustc/hir/print.rs b/src/librustc/hir/print.rs index 7affb129313..e9ed0ed574e 100644 --- a/src/librustc/hir/print.rs +++ b/src/librustc/hir/print.rs @@ -1494,11 +1494,14 @@ impl<'a> State<'a> { let mut out_idx = 0; self.commasep(Inconsistent, &a.outputs, |s, out| { - match out.constraint.slice_shift_char() { - Some(('=', operand)) if out.is_rw => { - s.print_string(&format!("+{}", operand), ast::StrStyle::Cooked)? + let mut ch = out.constraint.chars(); + match ch.next() { + Some('=') if out.is_rw => { + s.print_string(&format!("+{}", ch.as_str()), + ast::StrStyle::Cooked)? } - _ => s.print_string(&out.constraint, ast::StrStyle::Cooked)?, + _ => s.print_string(&out.constraint, + ast::StrStyle::Cooked)?, } s.popen()?; s.print_expr(&outputs[out_idx])?; diff --git a/src/librustc/lib.rs b/src/librustc/lib.rs index deb20627772..d1bbbf08ac2 100644 --- a/src/librustc/lib.rs +++ b/src/librustc/lib.rs @@ -28,7 +28,6 @@ #![feature(box_syntax)] #![feature(collections)] #![feature(const_fn)] -#![feature(copy_from_slice)] #![feature(enumset)] #![feature(iter_arith)] #![feature(libc)] @@ -39,7 +38,6 @@ #![feature(slice_patterns)] #![feature(staged_api)] #![feature(step_by)] -#![feature(str_char)] #![feature(question_mark)] #![cfg_attr(test, feature(test))] diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs index d3005ff2ded..815e60a8e03 100644 --- a/src/librustc/session/mod.rs +++ b/src/librustc/session/mod.rs @@ -351,11 +351,11 @@ fn split_msg_into_multilines(msg: &str) -> Option<String> { return None } let first = msg.match_indices("expected").filter(|s| { - s.0 > 0 && (msg.char_at_reverse(s.0) == ' ' || - msg.char_at_reverse(s.0) == '(') + let last = msg[..s.0].chars().rev().next(); + last == Some(' ') || last == Some('(') }).map(|(a, b)| (a - 1, a + b.len())); let second = msg.match_indices("found").filter(|s| { - msg.char_at_reverse(s.0) == ' ' + msg[..s.0].chars().rev().next() == Some(' ') }).map(|(a, b)| (a - 1, a + b.len())); let mut new_msg = String::new(); |
