diff options
Diffstat (limited to 'src/test/ui/moves/move-out-of-field.rs')
-rw-r--r-- | src/test/ui/moves/move-out-of-field.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/ui/moves/move-out-of-field.rs b/src/test/ui/moves/move-out-of-field.rs new file mode 100644 index 000000000..9f697db4f --- /dev/null +++ b/src/test/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!"); +} |