| // run-pass | |
| // pretty-expanded FIXME #23616 | |
| struct SpeechMaker { | |
| speeches: usize | |
| } | |
| fn talk(x: &mut SpeechMaker) { | |
| x.speeches += 1; | |
| } | |
| fn give_a_few_speeches(speaker: &mut SpeechMaker) { | |
| // Here speaker is reborrowed for each call, so we don't get errors | |
| // about speaker being moved. | |
| talk(speaker); | |
| talk(speaker); | |
| talk(speaker); | |
| } | |
| pub fn main() { | |
| let mut lincoln = SpeechMaker {speeches: 22}; | |
| give_a_few_speeches(&mut lincoln); | |
| } |