Skip to content

Commit bedd810

Browse files
committed
Auto merge of #21680 - japaric:slice, r=alexcrichton
Replaces `slice_*` method calls with slicing syntax, and removes `as_slice()` calls that are redundant due to `Deref`.
2 parents c5961ad + bce81e2 commit bedd810

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+156
-160
lines changed

src/compiletest/compiletest.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -369,8 +369,8 @@ pub fn make_metrics_test_closure(config: &Config, testfile: &Path) -> test::Test
369369
fn extract_gdb_version(full_version_line: Option<String>) -> Option<String> {
370370
match full_version_line {
371371
Some(ref full_version_line)
372-
if full_version_line.as_slice().trim().len() > 0 => {
373-
let full_version_line = full_version_line.as_slice().trim();
372+
if full_version_line.trim().len() > 0 => {
373+
let full_version_line = full_version_line.trim();
374374

375375
// used to be a regex "(^|[^0-9])([0-9]\.[0-9])([^0-9]|$)"
376376
for (pos, c) in full_version_line.char_indices() {
@@ -409,8 +409,8 @@ fn extract_lldb_version(full_version_line: Option<String>) -> Option<String> {
409409

410410
match full_version_line {
411411
Some(ref full_version_line)
412-
if full_version_line.as_slice().trim().len() > 0 => {
413-
let full_version_line = full_version_line.as_slice().trim();
412+
if full_version_line.trim().len() > 0 => {
413+
let full_version_line = full_version_line.trim();
414414

415415
for (pos, l) in full_version_line.char_indices() {
416416
if l != 'l' && l != 'L' { continue }

src/compiletest/header.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ pub fn is_test_ignored(config: &Config, testfile: &Path) -> bool {
149149
}
150150
fn ignore_stage(config: &Config) -> String {
151151
format!("ignore-{}",
152-
config.stage_id.as_slice().split('-').next().unwrap())
152+
config.stage_id.split('-').next().unwrap())
153153
}
154154
fn ignore_gdb(config: &Config, line: &str) -> bool {
155155
if config.mode != common::DebugInfoGdb {
@@ -231,11 +231,11 @@ fn iter_header<F>(testfile: &Path, mut it: F) -> bool where
231231
// module or function. This doesn't seem to be an optimization
232232
// with a warm page cache. Maybe with a cold one.
233233
let ln = ln.unwrap();
234-
if ln.as_slice().starts_with("fn") ||
235-
ln.as_slice().starts_with("mod") {
234+
if ln.starts_with("fn") ||
235+
ln.starts_with("mod") {
236236
return true;
237237
} else {
238-
if !(it(ln.as_slice().trim())) {
238+
if !(it(ln.trim())) {
239239
return false;
240240
}
241241
}

src/compiletest/runtest.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -777,7 +777,7 @@ fn parse_debugger_commands(file_path: &Path, debugger_prefix: &str)
777777
for line in reader.lines() {
778778
match line {
779779
Ok(line) => {
780-
if line.as_slice().contains("#break") {
780+
if line.contains("#break") {
781781
breakpoint_lines.push(counter);
782782
}
783783

@@ -843,7 +843,7 @@ fn check_debugger_output(debugger_run_result: &ProcRes, check_lines: &[String])
843843
// check if each line in props.check_lines appears in the
844844
// output (in order)
845845
let mut i = 0u;
846-
for line in debugger_run_result.stdout.as_slice().lines() {
846+
for line in debugger_run_result.stdout.lines() {
847847
let mut rest = line.trim();
848848
let mut first = true;
849849
let mut failed = false;
@@ -895,7 +895,7 @@ fn check_error_patterns(props: &TestProps,
895895
let mut next_err_idx = 0u;
896896
let mut next_err_pat = &props.error_patterns[next_err_idx];
897897
let mut done = false;
898-
for line in output_to_check.as_slice().lines() {
898+
for line in output_to_check.lines() {
899899
if line.contains(next_err_pat.as_slice()) {
900900
debug!("found error pattern {}", next_err_pat);
901901
next_err_idx += 1u;
@@ -924,7 +924,7 @@ fn check_error_patterns(props: &TestProps,
924924
}
925925

926926
fn check_no_compiler_crash(proc_res: &ProcRes) {
927-
for line in proc_res.stderr.as_slice().lines() {
927+
for line in proc_res.stderr.lines() {
928928
if line.starts_with("error: internal compiler error:") {
929929
fatal_proc_rec("compiler encountered internal error",
930930
proc_res);
@@ -983,7 +983,7 @@ fn check_expected_errors(expected_errors: Vec<errors::ExpectedError> ,
983983
// filename:line1:col1: line2:col2: *warning:* msg
984984
// where line1:col1: is the starting point, line2:col2:
985985
// is the ending point, and * represents ANSI color codes.
986-
for line in proc_res.stderr.as_slice().lines() {
986+
for line in proc_res.stderr.lines() {
987987
let mut was_expected = false;
988988
for (i, ee) in expected_errors.iter().enumerate() {
989989
if !found_flags[i] {
@@ -1536,7 +1536,7 @@ fn _arm_exec_compiled_test(config: &Config,
15361536
.expect(format!("failed to exec `{}`", config.adb_path).as_slice());
15371537

15381538
let mut exitcode: int = 0;
1539-
for c in exitcode_out.as_slice().chars() {
1539+
for c in exitcode_out.chars() {
15401540
if !c.is_numeric() { break; }
15411541
exitcode = exitcode * 10 + match c {
15421542
'0' ... '9' => c as int - ('0' as int),

src/grammar/verify.rs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ fn parse_token_list(file: &str) -> HashMap<String, token::Token> {
4343
None => continue
4444
};
4545

46-
let val = line.slice_to(eq);
47-
let num = line.slice_from(eq + 1);
46+
let val = &line[..eq];
47+
let num = &line[eq + 1..];
4848

4949
let tok = match val {
5050
"SHR" => token::BinOp(token::Shr),
@@ -136,27 +136,27 @@ fn str_to_binop(s: &str) -> token::BinOpToken {
136136
fn fix(mut lit: &str) -> ast::Name {
137137
if lit.char_at(0) == 'r' {
138138
if lit.char_at(1) == 'b' {
139-
lit = lit.slice_from(2)
139+
lit = &lit[2..]
140140
} else {
141-
lit = lit.slice_from(1);
141+
lit = &lit[1..];
142142
}
143143
} else if lit.char_at(0) == 'b' {
144-
lit = lit.slice_from(1);
144+
lit = &lit[1..];
145145
}
146146

147147
let leading_hashes = count(lit);
148148

149149
// +1/-1 to adjust for single quotes
150-
parse::token::intern(lit.slice(leading_hashes + 1, lit.len() - leading_hashes - 1))
150+
parse::token::intern(&lit[leading_hashes + 1..lit.len() - leading_hashes - 1])
151151
}
152152

153153
/// Assuming a char/byte literal, strip the 'b' prefix and the single quotes.
154154
fn fixchar(mut lit: &str) -> ast::Name {
155155
if lit.char_at(0) == 'b' {
156-
lit = lit.slice_from(1);
156+
lit = &lit[1..];
157157
}
158158

159-
parse::token::intern(lit.slice(1, lit.len() - 1))
159+
parse::token::intern(&lit[1..lit.len() - 1])
160160
}
161161

162162
fn count(lit: &str) -> usize {
@@ -187,8 +187,7 @@ fn parse_antlr_token(s: &str, tokens: &HashMap<String, token::Token>) -> TokenAn
187187

188188
let real_tok = match *proto_tok {
189189
token::BinOp(..) => token::BinOp(str_to_binop(content)),
190-
token::BinOpEq(..) => token::BinOpEq(str_to_binop(content.slice_to(
191-
content.len() - 1))),
190+
token::BinOpEq(..) => token::BinOpEq(str_to_binop(&content[..content.len() - 1])),
192191
token::Literal(token::Str_(..), n) => token::Literal(token::Str_(fix(content)), n),
193192
token::Literal(token::StrRaw(..), n) => token::Literal(token::StrRaw(fix(content),
194193
count(content)), n),
@@ -249,7 +248,7 @@ fn main() {
249248
let mut stdin = std::io::stdin();
250249
let mut lock = stdin.lock();
251250
let lines = lock.lines();
252-
let mut antlr_tokens = lines.map(|l| parse_antlr_token(l.unwrap().as_slice().trim(),
251+
let mut antlr_tokens = lines.map(|l| parse_antlr_token(l.unwrap().trim(),
253252
&token_map));
254253

255254
let code = File::open(&Path::new(args[1].as_slice())).unwrap().read_to_string().unwrap();

src/libcollections/slice.rs

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1594,21 +1594,21 @@ mod tests {
15941594
#[test]
15951595
fn test_get() {
15961596
let mut a = vec![11i];
1597-
assert_eq!(a.as_slice().get(1), None);
1597+
assert_eq!(a.get(1), None);
15981598
a = vec![11i, 12];
1599-
assert_eq!(a.as_slice().get(1).unwrap(), &12);
1599+
assert_eq!(a.get(1).unwrap(), &12);
16001600
a = vec![11i, 12, 13];
1601-
assert_eq!(a.as_slice().get(1).unwrap(), &12);
1601+
assert_eq!(a.get(1).unwrap(), &12);
16021602
}
16031603

16041604
#[test]
16051605
fn test_first() {
16061606
let mut a = vec![];
1607-
assert_eq!(a.as_slice().first(), None);
1607+
assert_eq!(a.first(), None);
16081608
a = vec![11i];
1609-
assert_eq!(a.as_slice().first().unwrap(), &11);
1609+
assert_eq!(a.first().unwrap(), &11);
16101610
a = vec![11i, 12];
1611-
assert_eq!(a.as_slice().first().unwrap(), &11);
1611+
assert_eq!(a.first().unwrap(), &11);
16121612
}
16131613

16141614
#[test]
@@ -1692,11 +1692,11 @@ mod tests {
16921692
#[test]
16931693
fn test_last() {
16941694
let mut a = vec![];
1695-
assert_eq!(a.as_slice().last(), None);
1695+
assert_eq!(a.last(), None);
16961696
a = vec![11i];
1697-
assert_eq!(a.as_slice().last().unwrap(), &11);
1697+
assert_eq!(a.last().unwrap(), &11);
16981698
a = vec![11i, 12];
1699-
assert_eq!(a.as_slice().last().unwrap(), &12);
1699+
assert_eq!(a.last().unwrap(), &12);
17001700
}
17011701

17021702
#[test]
@@ -1917,7 +1917,7 @@ mod tests {
19171917
let (min_size, max_opt) = it.size_hint();
19181918
assert_eq!(min_size, 1);
19191919
assert_eq!(max_opt.unwrap(), 1);
1920-
assert_eq!(it.next(), Some(v.as_slice().to_vec()));
1920+
assert_eq!(it.next(), Some(v.to_vec()));
19211921
assert_eq!(it.next(), None);
19221922
}
19231923
{
@@ -1926,7 +1926,7 @@ mod tests {
19261926
let (min_size, max_opt) = it.size_hint();
19271927
assert_eq!(min_size, 1);
19281928
assert_eq!(max_opt.unwrap(), 1);
1929-
assert_eq!(it.next(), Some(v.as_slice().to_vec()));
1929+
assert_eq!(it.next(), Some(v.to_vec()));
19301930
assert_eq!(it.next(), None);
19311931
}
19321932
{
@@ -2030,10 +2030,10 @@ mod tests {
20302030
assert!([].position_elem(&1i).is_none());
20312031

20322032
let v1 = vec![1i, 2, 3, 3, 2, 5];
2033-
assert_eq!(v1.as_slice().position_elem(&1), Some(0u));
2034-
assert_eq!(v1.as_slice().position_elem(&2), Some(1u));
2035-
assert_eq!(v1.as_slice().position_elem(&5), Some(5u));
2036-
assert!(v1.as_slice().position_elem(&4).is_none());
2033+
assert_eq!(v1.position_elem(&1), Some(0u));
2034+
assert_eq!(v1.position_elem(&2), Some(1u));
2035+
assert_eq!(v1.position_elem(&5), Some(5u));
2036+
assert!(v1.position_elem(&4).is_none());
20372037
}
20382038

20392039
#[test]
@@ -2104,13 +2104,13 @@ mod tests {
21042104
let mut v1 = v.clone();
21052105

21062106
v.sort();
2107-
assert!(v.as_slice().windows(2).all(|w| w[0] <= w[1]));
2107+
assert!(v.windows(2).all(|w| w[0] <= w[1]));
21082108

21092109
v1.sort_by(|a, b| a.cmp(b));
2110-
assert!(v1.as_slice().windows(2).all(|w| w[0] <= w[1]));
2110+
assert!(v1.windows(2).all(|w| w[0] <= w[1]));
21112111

21122112
v1.sort_by(|a, b| b.cmp(a));
2113-
assert!(v1.as_slice().windows(2).all(|w| w[0] >= w[1]));
2113+
assert!(v1.windows(2).all(|w| w[0] >= w[1]));
21142114
}
21152115
}
21162116

@@ -2149,7 +2149,7 @@ mod tests {
21492149
// will need to be ordered with increasing
21502150
// counts... i.e. exactly asserting that this sort is
21512151
// stable.
2152-
assert!(v.as_slice().windows(2).all(|w| w[0] <= w[1]));
2152+
assert!(v.windows(2).all(|w| w[0] <= w[1]));
21532153
}
21542154
}
21552155
}
@@ -2570,14 +2570,14 @@ mod tests {
25702570
assert!(a == [7i,2,3,4]);
25712571
let mut a = [1i,2,3,4,5];
25722572
let b = vec![5i,6,7,8,9,0];
2573-
assert_eq!(a.slice_mut(2, 4).move_from(b,1,6), 2);
2573+
assert_eq!(a[2..4].move_from(b,1,6), 2);
25742574
assert!(a == [1i,2,6,7,5]);
25752575
}
25762576

25772577
#[test]
25782578
fn test_reverse_part() {
25792579
let mut values = [1i,2,3,4,5];
2580-
values.slice_mut(1, 4).reverse();
2580+
values[1..4].reverse();
25812581
assert!(values == [1,4,3,2,5]);
25822582
}
25832583

@@ -2624,9 +2624,9 @@ mod tests {
26242624
fn test_bytes_set_memory() {
26252625
use slice::bytes::MutableByteVector;
26262626
let mut values = [1u8,2,3,4,5];
2627-
values.slice_mut(0, 5).set_memory(0xAB);
2627+
values[0..5].set_memory(0xAB);
26282628
assert!(values == [0xAB, 0xAB, 0xAB, 0xAB, 0xAB]);
2629-
values.slice_mut(2, 4).set_memory(0xFF);
2629+
values[2..4].set_memory(0xFF);
26302630
assert!(values == [0xAB, 0xAB, 0xFF, 0xFF, 0xAB]);
26312631
}
26322632

@@ -2884,7 +2884,7 @@ mod bench {
28842884
let xss: Vec<Vec<uint>> =
28852885
range(0, 100u).map(|i| range(0, i).collect()).collect();
28862886
b.iter(|| {
2887-
xss.as_slice().concat();
2887+
xss.concat();
28882888
});
28892889
}
28902890

@@ -2893,7 +2893,7 @@ mod bench {
28932893
let xss: Vec<Vec<uint>> =
28942894
range(0, 100u).map(|i| range(0, i).collect()).collect();
28952895
b.iter(|| {
2896-
xss.as_slice().connect(&0)
2896+
xss.connect(&0)
28972897
});
28982898
}
28992899

@@ -2910,15 +2910,15 @@ mod bench {
29102910
fn starts_with_same_vector(b: &mut Bencher) {
29112911
let vec: Vec<uint> = range(0, 100).collect();
29122912
b.iter(|| {
2913-
vec.as_slice().starts_with(vec.as_slice())
2913+
vec.starts_with(vec.as_slice())
29142914
})
29152915
}
29162916

29172917
#[bench]
29182918
fn starts_with_single_element(b: &mut Bencher) {
29192919
let vec: Vec<uint> = vec![0];
29202920
b.iter(|| {
2921-
vec.as_slice().starts_with(vec.as_slice())
2921+
vec.starts_with(vec.as_slice())
29222922
})
29232923
}
29242924

@@ -2928,23 +2928,23 @@ mod bench {
29282928
let mut match_vec: Vec<uint> = range(0, 99).collect();
29292929
match_vec.push(0);
29302930
b.iter(|| {
2931-
vec.as_slice().starts_with(match_vec.as_slice())
2931+
vec.starts_with(match_vec.as_slice())
29322932
})
29332933
}
29342934

29352935
#[bench]
29362936
fn ends_with_same_vector(b: &mut Bencher) {
29372937
let vec: Vec<uint> = range(0, 100).collect();
29382938
b.iter(|| {
2939-
vec.as_slice().ends_with(vec.as_slice())
2939+
vec.ends_with(vec.as_slice())
29402940
})
29412941
}
29422942

29432943
#[bench]
29442944
fn ends_with_single_element(b: &mut Bencher) {
29452945
let vec: Vec<uint> = vec![0];
29462946
b.iter(|| {
2947-
vec.as_slice().ends_with(vec.as_slice())
2947+
vec.ends_with(vec.as_slice())
29482948
})
29492949
}
29502950

@@ -2954,7 +2954,7 @@ mod bench {
29542954
let mut match_vec: Vec<uint> = range(0, 100).collect();
29552955
match_vec.as_mut_slice()[0] = 200;
29562956
b.iter(|| {
2957-
vec.as_slice().starts_with(match_vec.as_slice())
2957+
vec.starts_with(match_vec.as_slice())
29582958
})
29592959
}
29602960

0 commit comments

Comments
 (0)