diff options
Diffstat (limited to 'tests/ui/moves/move-out-of-field.rs')
| -rw-r--r-- | tests/ui/moves/move-out-of-field.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/ui/moves/move-out-of-field.rs b/tests/ui/moves/move-out-of-field.rs new file mode 100644 index 00000000000..9f697db4f79 --- /dev/null +++ b/tests/ui/moves/move-out-of-field.rs @@ -0,0 +1,27 @@ +// run-pass + +use std::string::String; + +struct StringBuffer { + s: String, +} + +impl StringBuffer { + pub fn append(&mut self, v: &str) { + self.s.push_str(v); + } +} + +fn to_string(sb: StringBuffer) -> String { + sb.s +} + +pub fn main() { + let mut sb = StringBuffer { + s: String::new(), + }; + sb.append("Hello, "); + sb.append("World!"); + let str = to_string(sb); + assert_eq!(str, "Hello, World!"); +} |
