| //@ run-pass |
| |
| // This test is bogus (i.e., should be check-fail) during the period |
| // where #54986 is implemented and #54987 is *not* implemented. For |
| // now: just ignore it |
| // |
| //@ ignore-test (#54987) |
| |
| // These are variants of issue-26996.rs. In all cases we are writing |
| // into a record field that has been moved out of, and ensuring that |
| // such a write won't overwrite the state of the thing it was moved |
| // into. |
| // |
| // That's a fine thing to test when this code is accepted by the |
| // compiler, and this code is being transcribed accordingly into |
| // the ui test issue-21232-partial-init-and-use.rs |
| |
| fn main() { |
| let mut c = (1, (1, "".to_owned())); |
| match c { |
| c2 => { (c.1).0 = 2; assert_eq!((c2.1).0, 1); } |
| } |
| |
| let mut c = (1, (1, (1, "".to_owned()))); |
| match c.1 { |
| c2 => { ((c.1).1).0 = 3; assert_eq!((c2.1).0, 1); } |
| } |
| } |