Skip to content

Commit 77de3ee

Browse files
committed
syntax: Remove parsing of old slice syntax
This syntax has been deprecated for quite some time, and there were only a few remaining uses of it in the codebase anyway.
1 parent a923278 commit 77de3ee

File tree

7 files changed

+24
-83
lines changed

7 files changed

+24
-83
lines changed

src/libcollections/vec_deque.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ impl<T> VecDeque<T> {
553553
/// *num = *num - 2;
554554
/// }
555555
/// let b: &[_] = &[&mut 3, &mut 1, &mut 2];
556-
/// assert_eq!(&buf.iter_mut().collect::<Vec<&mut i32>>()[], b);
556+
/// assert_eq!(&buf.iter_mut().collect::<Vec<&mut i32>>()[..], b);
557557
/// ```
558558
#[stable(feature = "rust1", since = "1.0.0")]
559559
pub fn iter_mut(&mut self) -> IterMut<T> {

src/libstd/old_io/buffered.rs

+16-16
Original file line numberDiff line numberDiff line change
@@ -510,45 +510,45 @@ mod test {
510510

511511
writer.write_all(&[0, 1]).unwrap();
512512
let b: &[_] = &[];
513-
assert_eq!(&writer.get_ref()[], b);
513+
assert_eq!(&writer.get_ref()[..], b);
514514

515515
writer.write_all(&[2]).unwrap();
516516
let b: &[_] = &[0, 1];
517-
assert_eq!(&writer.get_ref()[], b);
517+
assert_eq!(&writer.get_ref()[..], b);
518518

519519
writer.write_all(&[3]).unwrap();
520-
assert_eq!(&writer.get_ref()[], b);
520+
assert_eq!(&writer.get_ref()[..], b);
521521

522522
writer.flush().unwrap();
523523
let a: &[_] = &[0, 1, 2, 3];
524-
assert_eq!(a, &writer.get_ref()[]);
524+
assert_eq!(a, &writer.get_ref()[..]);
525525

526526
writer.write_all(&[4]).unwrap();
527527
writer.write_all(&[5]).unwrap();
528-
assert_eq!(a, &writer.get_ref()[]);
528+
assert_eq!(a, &writer.get_ref()[..]);
529529

530530
writer.write_all(&[6]).unwrap();
531531
let a: &[_] = &[0, 1, 2, 3, 4, 5];
532-
assert_eq!(a, &writer.get_ref()[]);
532+
assert_eq!(a, &writer.get_ref()[..]);
533533

534534
writer.write_all(&[7, 8]).unwrap();
535535
let a: &[_] = &[0, 1, 2, 3, 4, 5, 6];
536-
assert_eq!(a, &writer.get_ref()[]);
536+
assert_eq!(a, &writer.get_ref()[..]);
537537

538538
writer.write_all(&[9, 10, 11]).unwrap();
539539
let a: &[_] = &[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
540-
assert_eq!(a, &writer.get_ref()[]);
540+
assert_eq!(a, &writer.get_ref()[..]);
541541

542542
writer.flush().unwrap();
543-
assert_eq!(a, &writer.get_ref()[]);
543+
assert_eq!(a, &writer.get_ref()[..]);
544544
}
545545

546546
#[test]
547547
fn test_buffered_writer_inner_flushes() {
548548
let mut w = BufferedWriter::with_capacity(3, Vec::new());
549549
w.write_all(&[0, 1]).unwrap();
550550
let a: &[_] = &[];
551-
assert_eq!(a, &w.get_ref()[]);
551+
assert_eq!(a, &w.get_ref()[..]);
552552
let w = w.into_inner();
553553
let a: &[_] = &[0, 1];
554554
assert_eq!(a, &w[..]);
@@ -593,21 +593,21 @@ mod test {
593593
let mut writer = LineBufferedWriter::new(Vec::new());
594594
writer.write_all(&[0]).unwrap();
595595
let b: &[_] = &[];
596-
assert_eq!(&writer.get_ref()[], b);
596+
assert_eq!(&writer.get_ref()[..], b);
597597
writer.write_all(&[1]).unwrap();
598-
assert_eq!(&writer.get_ref()[], b);
598+
assert_eq!(&writer.get_ref()[..], b);
599599
writer.flush().unwrap();
600600
let b: &[_] = &[0, 1];
601-
assert_eq!(&writer.get_ref()[], b);
601+
assert_eq!(&writer.get_ref()[..], b);
602602
writer.write_all(&[0, b'\n', 1, b'\n', 2]).unwrap();
603603
let b: &[_] = &[0, 1, 0, b'\n', 1, b'\n'];
604-
assert_eq!(&writer.get_ref()[], b);
604+
assert_eq!(&writer.get_ref()[..], b);
605605
writer.flush().unwrap();
606606
let b: &[_] = &[0, 1, 0, b'\n', 1, b'\n', 2];
607-
assert_eq!(&writer.get_ref()[], b);
607+
assert_eq!(&writer.get_ref()[..], b);
608608
writer.write_all(&[3, b'\n']).unwrap();
609609
let b: &[_] = &[0, 1, 0, b'\n', 1, b'\n', 2, 3, b'\n'];
610-
assert_eq!(&writer.get_ref()[], b);
610+
assert_eq!(&writer.get_ref()[..], b);
611611
}
612612

613613
#[test]

src/libsyntax/parse/obsolete.rs

-6
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ use ptr::P;
2323
#[derive(Copy, PartialEq, Eq, Hash)]
2424
pub enum ObsoleteSyntax {
2525
ClosureKind,
26-
EmptyIndex,
2726
ExternCrateString,
2827
}
2928

@@ -52,11 +51,6 @@ impl<'a> ParserObsoleteMethods for parser::Parser<'a> {
5251
"rely on inference instead",
5352
true,
5453
),
55-
ObsoleteSyntax::EmptyIndex => (
56-
"[]",
57-
"write `[..]` instead",
58-
false, // warning for now
59-
),
6054
ObsoleteSyntax::ExternCrateString => (
6155
"\"crate-name\"",
6256
"use an identifier not in quotes instead",

src/libsyntax/parse/parser.rs

+5-38
Original file line numberDiff line numberDiff line change
@@ -2312,46 +2312,13 @@ impl<'a> Parser<'a> {
23122312
// expr[...]
23132313
// Could be either an index expression or a slicing expression.
23142314
token::OpenDelim(token::Bracket) => {
2315-
let bracket_pos = self.span.lo;
23162315
self.bump();
23172316

2318-
if self.eat(&token::CloseDelim(token::Bracket)) {
2319-
// No expression, expand to a RangeFull
2320-
// FIXME(#20516) It would be better to use a lang item or
2321-
// something for RangeFull.
2322-
hi = self.last_span.hi;
2323-
2324-
let idents = vec![token::str_to_ident("std"),
2325-
token::str_to_ident("ops"),
2326-
token::str_to_ident("RangeFull")];
2327-
let segments = idents.into_iter().map(|ident| {
2328-
ast::PathSegment {
2329-
identifier: ident,
2330-
parameters: ast::PathParameters::none(),
2331-
}
2332-
}).collect();
2333-
let span = mk_sp(lo, hi);
2334-
let path = ast::Path {
2335-
span: span,
2336-
global: true,
2337-
segments: segments,
2338-
};
2339-
2340-
let range = ExprStruct(path, vec![], None);
2341-
let ix = self.mk_expr(bracket_pos, hi, range);
2342-
let index = self.mk_index(e, ix);
2343-
e = self.mk_expr(lo, hi, index);
2344-
2345-
let obsolete_span = mk_sp(bracket_pos, hi);
2346-
self.obsolete(obsolete_span, ObsoleteSyntax::EmptyIndex);
2347-
} else {
2348-
let ix = self.parse_expr();
2349-
hi = self.span.hi;
2350-
self.commit_expr_expecting(&*ix, token::CloseDelim(token::Bracket));
2351-
let index = self.mk_index(e, ix);
2352-
e = self.mk_expr(lo, hi, index)
2353-
}
2354-
2317+
let ix = self.parse_expr();
2318+
hi = self.span.hi;
2319+
self.commit_expr_expecting(&*ix, token::CloseDelim(token::Bracket));
2320+
let index = self.mk_index(e, ix);
2321+
e = self.mk_expr(lo, hi, index)
23552322
}
23562323
_ => return e
23572324
}

src/test/bench/noise.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ impl Noise2DContext {
4747
let mut rng = StdRng::new().unwrap();
4848

4949
let mut rgradients = [Vec2 { x: 0.0, y: 0.0 }; 256];
50-
for x in &mut rgradients[] {
50+
for x in &mut rgradients[..] {
5151
*x = random_gradient(&mut rng);
5252
}
5353

src/test/compile-fail/slice-1.rs

-20
This file was deleted.

src/test/run-pass/issue-15149.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ fn main() {
2828
// checking that it ends_with the executable name. This
2929
// is needed because of Windows, which has a different behavior.
3030
// See #15149 for more info.
31-
return assert!(args[0].ends_with(&format!("mytest{}", env::consts::EXE_SUFFIX)[]));
31+
return assert!(args[0].ends_with(&format!("mytest{}", env::consts::EXE_SUFFIX)));
3232
}
3333

3434
test();

0 commit comments

Comments
 (0)