diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2020-01-19 02:47:01 +0100 | 
|---|---|---|
| committer | Mazdak Farrokhzad <twingoow@gmail.com> | 2020-02-02 14:13:07 +0100 | 
| commit | d984f127f662f7a1fcf0472230a1b64fcc3325d5 (patch) | |
| tree | 35a1694fb4c49d0c43a8da13f74c9ed94eeab7d2 /src/test/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern-pass.rs | |
| parent | 7af9ff3e699207da7a5220b98ba9831d66697c80 (diff) | |
| download | rust-d984f127f662f7a1fcf0472230a1b64fcc3325d5.tar.gz rust-d984f127f662f7a1fcf0472230a1b64fcc3325d5.zip | |
move_ref_patterns: introduce tests
bindings_after_at: harden tests
Diffstat (limited to 'src/test/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern-pass.rs')
| -rw-r--r-- | src/test/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern-pass.rs | 31 | 
1 files changed, 31 insertions, 0 deletions
| diff --git a/src/test/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern-pass.rs b/src/test/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern-pass.rs new file mode 100644 index 00000000000..d2d4e61e049 --- /dev/null +++ b/src/test/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern-pass.rs @@ -0,0 +1,31 @@ +// check-pass + +#![feature(move_ref_pattern)] + +fn main() {} + +struct U; + +fn slice() { + let mut arr = [U, U, U, U, U, U, U, U]; + let [ref _x0, _x1, _, mut _x3, .., ref _x6, _x7] = arr; + _x3 = U; + let [ref mut _x0, _, ref _x2, _, _x4, ref mut _x5, _x6, _] = arr; + *_x5 = U; + let [_, _, _x2, _, _, _x5, _, _] = arr; + *_x0 = U; + let [ref _x0, ..] = arr; + let [_x0, ..] = arr; +} + +fn tuple() { + let mut tup = (U, U, U, U, U); + let (ref _x0, mut _x1, ref _x2, ..) = tup; + _x1 = U; + let (ref mut _x0, _, _, ref _x3, _x4) = tup; + let (_, _, _, _x3, _) = tup; + *_x0 = U; + drop(_x2); + drop(tup.2); + let (_x0, _, _, ..) = tup; +} | 
