summaryrefslogtreecommitdiff
path: root/exercises
diff options
context:
space:
mode:
authormo8it <mo8it@proton.me>2023-08-29 00:52:11 +0200
committermo8it <mo8it@proton.me>2023-08-29 00:52:11 +0200
commit9c0581bc0faea12b790e0fa0cafe8d08a5ed028e (patch)
treee5c63bd055882c8fd04383306768ab879e2c0391 /exercises
parent464cb5566d9e36bf6f8ccf83a105097bce91ad4d (diff)
Use u32 instead of i32
Diffstat (limited to 'exercises')
-rw-r--r--exercises/structs/structs3.rs14
1 files changed, 8 insertions, 6 deletions
diff --git a/exercises/structs/structs3.rs b/exercises/structs/structs3.rs
index 4851317..7cda5af 100644
--- a/exercises/structs/structs3.rs
+++ b/exercises/structs/structs3.rs
@@ -13,13 +13,15 @@
struct Package {
sender_country: String,
recipient_country: String,
- weight_in_grams: i32,
+ weight_in_grams: u32,
}
impl Package {
- fn new(sender_country: String, recipient_country: String, weight_in_grams: i32) -> Package {
- if weight_in_grams <= 0 {
- panic!("Can not ship a weightless package.")
+ fn new(sender_country: String, recipient_country: String, weight_in_grams: u32) -> Package {
+ if weight_in_grams < 10 {
+ // This is not how you should handle errors in Rust,
+ // but we will learn about error handling later.
+ panic!("Can not ship a package with weight below 10 grams.")
} else {
Package {
sender_country,
@@ -33,7 +35,7 @@ impl Package {
// Something goes here...
}
- fn get_fees(&self, cents_per_gram: i32) -> ??? {
+ fn get_fees(&self, cents_per_gram: u32) -> ??? {
// Something goes here...
}
}
@@ -48,7 +50,7 @@ mod tests {
let sender_country = String::from("Spain");
let recipient_country = String::from("Austria");
- Package::new(sender_country, recipient_country, -2210);
+ Package::new(sender_country, recipient_country, 5);
}
#[test]