summaryrefslogtreecommitdiff
path: root/exercises/13_error_handling
diff options
context:
space:
mode:
Diffstat (limited to 'exercises/13_error_handling')
-rw-r--r--exercises/13_error_handling/errors3.rs21
1 files changed, 12 insertions, 9 deletions
diff --git a/exercises/13_error_handling/errors3.rs b/exercises/13_error_handling/errors3.rs
index 2ef84f9..33a7b87 100644
--- a/exercises/13_error_handling/errors3.rs
+++ b/exercises/13_error_handling/errors3.rs
@@ -4,6 +4,17 @@
use std::num::ParseIntError;
+// Don't change this function.
+fn total_cost(item_quantity: &str) -> Result<i32, ParseIntError> {
+ let processing_fee = 1;
+ let cost_per_item = 5;
+ let qty = item_quantity.parse::<i32>()?;
+
+ Ok(qty * cost_per_item + processing_fee)
+}
+
+// TODO: Fix the compiler error by changing the signature and body of the
+// `main` function.
fn main() {
let mut tokens = 100;
let pretend_user_input = "8";
@@ -14,14 +25,6 @@ fn main() {
println!("You can't afford that many!");
} else {
tokens -= cost;
- println!("You now have {} tokens.", tokens);
+ println!("You now have {tokens} tokens.");
}
}
-
-fn total_cost(item_quantity: &str) -> Result<i32, ParseIntError> {
- let processing_fee = 1;
- let cost_per_item = 5;
- let qty = item_quantity.parse::<i32>()?;
-
- Ok(qty * cost_per_item + processing_fee)
-}