diff options
Diffstat (limited to 'exercises/06_move_semantics/move_semantics6.rs')
| -rw-r--r-- | exercises/06_move_semantics/move_semantics6.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/exercises/06_move_semantics/move_semantics6.rs b/exercises/06_move_semantics/move_semantics6.rs new file mode 100644 index 0000000..cace4ca --- /dev/null +++ b/exercises/06_move_semantics/move_semantics6.rs @@ -0,0 +1,28 @@ +// move_semantics6.rs +// +// You can't change anything except adding or removing references. +// +// Execute `rustlings hint move_semantics6` or use the `hint` watch subcommand +// for a hint. + +// I AM NOT DONE + +fn main() { + let data = "Rust is great!".to_string(); + + get_char(data); + + string_uppercase(&data); +} + +// Should not take ownership +fn get_char(data: String) -> char { + data.chars().last().unwrap() +} + +// Should take ownership +fn string_uppercase(mut data: &String) { + data = &data.to_uppercase(); + + println!("{}", data); +} |
