auto merge of #5525 : dbaupp/rust/minor_fixups, r=graydon

Kills some warnings, and implements str::each_char_reverse so that it actually iterates. The test case wasn't detecting a failure, since the loop body was never executed.
This commit is contained in:
bors 2013-03-25 21:18:57 -07:00
commit 47ddb59b80
14 changed files with 9 additions and 26 deletions

View File

@ -51,7 +51,6 @@ Implicitly, all crates behave as if they included the following prologue:
#[warn(vecs_implicitly_copyable)];
#[deny(non_camel_case_types)];
#[allow(deprecated_mutable_fields)];
#[deny(deprecated_self)];
#[allow(deprecated_drop)];
// On Linux, link to the runtime with -lrt.

View File

@ -24,7 +24,6 @@ use managed;
use ptr;
use reflect;
use reflect::{MovePtr, MovePtrAdaptor, align};
use str;
use sys;
use to_str::ToStr;
use vec::UnboxedVecRepr;

View File

@ -1020,22 +1020,21 @@ pub fn each_chari(s: &str, it: &fn(uint, char) -> bool) {
/// Iterates over the chars in a string in reverse
#[inline(always)]
pub fn each_char_reverse(s: &str, it: &fn(char) -> bool) {
let mut pos = 0;
let len = s.char_len();
while pos > 0 {
let CharRange {ch, next} = char_range_at_reverse(s, pos);
pos = next;
if !it(ch) { break; }
}
each_chari_reverse(s, |_, c| it(c))
}
// Iterates over the chars in a string in reverse, with indices
#[inline(always)]
pub fn each_chari_reverse(s: &str, it: &fn(uint, char) -> bool) {
let mut pos = s.len();
let mut ch_pos = s.char_len();
for s.each_char_reverse |ch| {
while pos > 0 {
let CharRange {ch, next} = char_range_at_reverse(s, pos);
pos = next;
ch_pos -= 1;
if !it(ch_pos, ch) { break; }
}
}
@ -3661,10 +3660,10 @@ mod tests {
fn test_each_char_reverse() {
let s = ~"ศไทย中华Việt Nam";
let v = ~['ศ','ไ','ท','ย','中','华','V','i','ệ','t',' ','N','a','m'];
let mut pos = 0;
let mut pos = v.len();
for s.each_char_reverse |ch| {
pos -= 1;
fail_unless!(ch == v[pos]);
pos += 1;
}
}

View File

@ -2542,7 +2542,6 @@ impl<A:Clone> Clone for ~[A] {
#[cfg(test)]
mod tests {
use option::{None, Option, Some};
use option;
use sys;
use vec::*;
use cmp::*;

View File

@ -25,7 +25,6 @@
#[allow(non_camel_case_types)];
#[allow(deprecated_mode)];
#[allow(deprecated_pattern)];
#[deny(deprecated_self)];
extern mod core(vers = "0.6");
extern mod std(vers = "0.6");

View File

@ -12,8 +12,6 @@
// FIXME #2238 Make commands run and test emit proper file endings on winds
// FIXME #2238 Make run only accept source that emits an executable
#[deny(deprecated_self)];
#[link(name = "rust",
vers = "0.6",
uuid = "4a24da33-5cc8-4037-9352-2cbe9bd9d27c",

View File

@ -25,7 +25,6 @@ use util::common::time;
use util::ppaux;
use core::int;
use core::io::WriterUtil;
use core::io;
use core::os;
use core::str;

View File

@ -56,8 +56,6 @@ use syntax::{visit, ast_util};
// primitives in the stdlib are explicitly annotated to only take sendable
// types.
use core::hashmap::linear::LinearSet;
pub static try_adding: &'static str = "Try adding a move";
pub type rval_map = HashMap<node_id, ()>;

View File

@ -24,7 +24,6 @@
#[allow(non_camel_case_types)];
#[allow(deprecated_mode)];
#[warn(deprecated_pattern)];
#[deny(deprecated_self)];
#[no_core];

View File

@ -22,7 +22,6 @@
#[no_core];
#[allow(non_implicitly_copyable_typarams)];
#[deny(deprecated_self)];
extern mod core(vers = "0.6");
extern mod std(vers = "0.6");

View File

@ -18,8 +18,6 @@ is interpreted as the brief description.
use pass::Pass;
use text_pass;
use core::str;
pub fn mk_pass() -> Pass {
text_pass::mk_pass(~"trim", |s| s.trim().to_owned() )
}

View File

@ -22,7 +22,6 @@
#[allow(vecs_implicitly_copyable,
non_implicitly_copyable_typarams)];
#[deny(deprecated_self)];
extern mod core(vers = "0.6");
extern mod std(vers = "0.6");

View File

@ -20,7 +20,6 @@
#[no_core];
#[allow(vecs_implicitly_copyable,
non_implicitly_copyable_typarams)];
#[deny(deprecated_self)];
extern mod core(vers = "0.6");
extern mod std(vers = "0.6");

View File

@ -28,7 +28,6 @@ not required in or otherwise suitable for the core library.
#[allow(vecs_implicitly_copyable)];
#[deny(non_camel_case_types)];
#[deny(deprecated_self)];
#[allow(deprecated_mutable_fields)];
#[no_core];