summaryrefslogtreecommitdiff
path: root/exercises
diff options
context:
space:
mode:
authorSateesh <sateeshkumarb@yahoo.com>2021-05-17 17:40:40 +0530
committerGitHub <noreply@github.com>2021-05-17 14:10:40 +0200
commit399ab328d8d407265c09563aa4ef4534b2503ff2 (patch)
treec6a2d9cfc457bc33f41517b943564f101d2ac019 /exercises
parent809ec2ce01d5bc9ee0f7eae21bc9276083c8287c (diff)
feat: Add move_semantics5 exercise. (#746)
* feat: Add move_semantics5 exercise. * feat: Add option3 exercise * Address review comments. Fix typos, sentence formatting. * Remove unwanted newline. * Address review comments: make comment inline, fix format in print.
Diffstat (limited to 'exercises')
-rw-r--r--exercises/move_semantics/move_semantics5.rs14
-rw-r--r--exercises/option/option3.rs19
2 files changed, 33 insertions, 0 deletions
diff --git a/exercises/move_semantics/move_semantics5.rs b/exercises/move_semantics/move_semantics5.rs
new file mode 100644
index 0000000..4f8128c
--- /dev/null
+++ b/exercises/move_semantics/move_semantics5.rs
@@ -0,0 +1,14 @@
+// move_semantics5.rs
+// Make me compile without adding any newlines or removing any of the lines.
+// Execute `rustlings hint move_semantics5` for hints :)
+
+// I AM NOT DONE
+
+fn main() {
+ let mut x = 100;
+ let y = &mut x;
+ let z = &mut *y;
+ *y += 100;
+ *z += 1000;
+ assert_eq!(x, 1200);
+}
diff --git a/exercises/option/option3.rs b/exercises/option/option3.rs
new file mode 100644
index 0000000..045d2ac
--- /dev/null
+++ b/exercises/option/option3.rs
@@ -0,0 +1,19 @@
+// option3.rs
+// Make me compile! Execute `rustlings hint option3` for hints
+
+// I AM NOT DONE
+
+struct Point {
+ x: i32,
+ y: i32,
+}
+
+fn main() {
+ let y: Option<Point> = Some(Point { x: 100, y: 200 });
+
+ match y {
+ Some(p) => println!("Co-ordinates are {},{} ", p.x, p.y),
+ _ => println!("no match"),
+ }
+ y; // Fix without deleting this line.
+}