diff options
Diffstat (limited to 'exercises/move_semantics/move_semantics6.rs')
| -rw-r--r-- | exercises/move_semantics/move_semantics6.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/exercises/move_semantics/move_semantics6.rs b/exercises/move_semantics/move_semantics6.rs new file mode 100644 index 0000000..457e7ae --- /dev/null +++ b/exercises/move_semantics/move_semantics6.rs @@ -0,0 +1,25 @@ +// move_semantics6.rs +// Make me compile! `rustlings hint move_semantics6` for hints +// You can't change anything except adding or removing references + +// 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); +} |
