Skip to content

Commit 47ddb59

Browse files
committed
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.
2 parents 02d5f09 + 29e8b6e commit 47ddb59

File tree

14 files changed

+9
-26
lines changed

14 files changed

+9
-26
lines changed

src/libcore/core.rc

-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ Implicitly, all crates behave as if they included the following prologue:
5151
#[warn(vecs_implicitly_copyable)];
5252
#[deny(non_camel_case_types)];
5353
#[allow(deprecated_mutable_fields)];
54-
#[deny(deprecated_self)];
5554
#[allow(deprecated_drop)];
5655

5756
// On Linux, link to the runtime with -lrt.

src/libcore/repr.rs

-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ use managed;
2424
use ptr;
2525
use reflect;
2626
use reflect::{MovePtr, MovePtrAdaptor, align};
27-
use str;
2827
use sys;
2928
use to_str::ToStr;
3029
use vec::UnboxedVecRepr;

src/libcore/str.rs

+9-10
Original file line numberDiff line numberDiff line change
@@ -1020,22 +1020,21 @@ pub fn each_chari(s: &str, it: &fn(uint, char) -> bool) {
10201020
/// Iterates over the chars in a string in reverse
10211021
#[inline(always)]
10221022
pub fn each_char_reverse(s: &str, it: &fn(char) -> bool) {
1023-
let mut pos = 0;
1024-
let len = s.char_len();
1025-
while pos > 0 {
1026-
let CharRange {ch, next} = char_range_at_reverse(s, pos);
1027-
pos = next;
1028-
if !it(ch) { break; }
1029-
}
1023+
each_chari_reverse(s, |_, c| it(c))
10301024
}
10311025

10321026
// Iterates over the chars in a string in reverse, with indices
10331027
#[inline(always)]
10341028
pub fn each_chari_reverse(s: &str, it: &fn(uint, char) -> bool) {
1029+
let mut pos = s.len();
10351030
let mut ch_pos = s.char_len();
1036-
for s.each_char_reverse |ch| {
1031+
while pos > 0 {
1032+
let CharRange {ch, next} = char_range_at_reverse(s, pos);
1033+
pos = next;
10371034
ch_pos -= 1;
1035+
10381036
if !it(ch_pos, ch) { break; }
1037+
10391038
}
10401039
}
10411040

@@ -3661,10 +3660,10 @@ mod tests {
36613660
fn test_each_char_reverse() {
36623661
let s = ~"ศไทย中华Việt Nam";
36633662
let v = ~['ศ','ไ','ท','ย','中','华','V','i','ệ','t',' ','N','a','m'];
3664-
let mut pos = 0;
3663+
let mut pos = v.len();
36653664
for s.each_char_reverse |ch| {
3665+
pos -= 1;
36663666
fail_unless!(ch == v[pos]);
3667-
pos += 1;
36683667
}
36693668
}
36703669

src/libcore/vec.rs

-1
Original file line numberDiff line numberDiff line change
@@ -2542,7 +2542,6 @@ impl<A:Clone> Clone for ~[A] {
25422542
#[cfg(test)]
25432543
mod tests {
25442544
use option::{None, Option, Some};
2545-
use option;
25462545
use sys;
25472546
use vec::*;
25482547
use cmp::*;

src/libfuzzer/fuzzer.rc

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#[allow(non_camel_case_types)];
2626
#[allow(deprecated_mode)];
2727
#[allow(deprecated_pattern)];
28-
#[deny(deprecated_self)];
2928

3029
extern mod core(vers = "0.6");
3130
extern mod std(vers = "0.6");

src/librust/rust.rc

-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
// FIXME #2238 Make commands run and test emit proper file endings on winds
1313
// FIXME #2238 Make run only accept source that emits an executable
1414

15-
#[deny(deprecated_self)];
16-
1715
#[link(name = "rust",
1816
vers = "0.6",
1917
uuid = "4a24da33-5cc8-4037-9352-2cbe9bd9d27c",

src/librustc/driver/driver.rs

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ use util::common::time;
2525
use util::ppaux;
2626

2727
use core::int;
28-
use core::io::WriterUtil;
2928
use core::io;
3029
use core::os;
3130
use core::str;

src/librustc/middle/kind.rs

-2
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,6 @@ use syntax::{visit, ast_util};
5656
// primitives in the stdlib are explicitly annotated to only take sendable
5757
// types.
5858

59-
use core::hashmap::linear::LinearSet;
60-
6159
pub static try_adding: &'static str = "Try adding a move";
6260

6361
pub type rval_map = HashMap<node_id, ()>;

src/librustc/rustc.rc

-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#[allow(non_camel_case_types)];
2525
#[allow(deprecated_mode)];
2626
#[warn(deprecated_pattern)];
27-
#[deny(deprecated_self)];
2827

2928
#[no_core];
3029

src/librustdoc/rustdoc.rc

-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
#[no_core];
2323

2424
#[allow(non_implicitly_copyable_typarams)];
25-
#[deny(deprecated_self)];
2625

2726
extern mod core(vers = "0.6");
2827
extern mod std(vers = "0.6");

src/librustdoc/trim_pass.rs

-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ is interpreted as the brief description.
1818
use pass::Pass;
1919
use text_pass;
2020

21-
use core::str;
22-
2321
pub fn mk_pass() -> Pass {
2422
text_pass::mk_pass(~"trim", |s| s.trim().to_owned() )
2523
}

src/librusti/rusti.rc

-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
#[allow(vecs_implicitly_copyable,
2424
non_implicitly_copyable_typarams)];
25-
#[deny(deprecated_self)];
2625

2726
extern mod core(vers = "0.6");
2827
extern mod std(vers = "0.6");

src/librustpkg/rustpkg.rc

-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
#[no_core];
2121
#[allow(vecs_implicitly_copyable,
2222
non_implicitly_copyable_typarams)];
23-
#[deny(deprecated_self)];
2423

2524
extern mod core(vers = "0.6");
2625
extern mod std(vers = "0.6");

src/libstd/std.rc

-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ not required in or otherwise suitable for the core library.
2828

2929
#[allow(vecs_implicitly_copyable)];
3030
#[deny(non_camel_case_types)];
31-
#[deny(deprecated_self)];
3231
#[allow(deprecated_mutable_fields)];
3332

3433
#[no_core];

0 commit comments

Comments
 (0)