rust/tests/ui/array-slice-vec/issue-69103-extra-binding-subslice.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

19 lines
571 B
Rust
Raw Normal View History

2020-02-13 11:19:36 +00:00
// We used to not lower the extra `b @ ..` into `b @ _` which meant that no type
// was registered for the binding `b` although it passed through resolve.
// This resulted in an ICE (#69103).
fn main() {
let [a @ .., b @ ..] = &mut [1, 2];
//~^ ERROR `..` can only be used once per slice pattern
b;
let [.., c @ ..] = [1, 2];
//~^ ERROR `..` can only be used once per slice pattern
c;
// This never ICEd, but let's make sure it won't regress either.
let (.., d @ ..) = (1, 2);
//~^ ERROR `..` patterns are not allowed here
d;
}