diff options
| author | Jubilee Young <workingjubilee@gmail.com> | 2021-05-27 14:36:45 -0700 |
|---|---|---|
| committer | Jubilee Young <workingjubilee@gmail.com> | 2021-06-03 20:49:33 -0700 |
| commit | 43bad44ff01dd5035b961b366e65f705241b428d (patch) | |
| tree | 502fd4b70c3a71c2102b7cfda8d9a10c1ed9b0de /src/test/ui/half-open-range-patterns/slice_pattern_syntax_problem0.rs | |
| parent | 45d9dd69a7724986f1b80cf9462323b48d4e2529 (diff) | |
| download | rust-43bad44ff01dd5035b961b366e65f705241b428d.tar.gz rust-43bad44ff01dd5035b961b366e65f705241b428d.zip | |
Reestablish feature gate for RangeFrom in slices
Diffstat (limited to 'src/test/ui/half-open-range-patterns/slice_pattern_syntax_problem0.rs')
| -rw-r--r-- | src/test/ui/half-open-range-patterns/slice_pattern_syntax_problem0.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/ui/half-open-range-patterns/slice_pattern_syntax_problem0.rs b/src/test/ui/half-open-range-patterns/slice_pattern_syntax_problem0.rs new file mode 100644 index 00000000000..2884a27349f --- /dev/null +++ b/src/test/ui/half-open-range-patterns/slice_pattern_syntax_problem0.rs @@ -0,0 +1,16 @@ +#![feature(half_open_range_patterns)] +#![feature(exclusive_range_pattern)] + +fn main() { + let xs = [13, 1, 5, 2, 3, 1, 21, 8]; + let [a, b, c, rest @ ..] = xs; + // Consider the following example: + assert!(a == 13 && b == 1 && c == 5 && rest.len() == 5); + + // What if we wanted to pull this apart without individually binding a, b, and c? + let [first_three @ ..3, rest @ 2..] = xs; + //~^ pattern requires 2 elements but array has 8 + // This is somewhat unintuitive and makes slice patterns exceedingly verbose. + // We want to stabilize half-open RangeFrom (`X..`) patterns + // but without banning us from using them for a more efficient slice pattern syntax. +} |
