summaryrefslogtreecommitdiff
path: root/exercises/conversions/from_str.rs
diff options
context:
space:
mode:
authorTaylor Yu <tlyu@mit.edu>2021-04-04 18:43:38 -0500
committerTaylor Yu <tlyu@mit.edu>2021-04-04 18:56:10 -0500
commitc3e7b831786c9172ed8bd5d150f3c432f242fba9 (patch)
tree30a5b628918f7aae5dfb4cd8ea5b7c5db0e3d4fa /exercises/conversions/from_str.rs
parent2e93a588e0abe8badb7eafafb9e7d073c2be5df8 (diff)
fix: use trait objects for from_str
Use `Box<dyn error::Error>` to allow solutions to use `?` to propagate errors.
Diffstat (limited to 'exercises/conversions/from_str.rs')
-rw-r--r--exercises/conversions/from_str.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/exercises/conversions/from_str.rs b/exercises/conversions/from_str.rs
index 41fccd7..4beebac 100644
--- a/exercises/conversions/from_str.rs
+++ b/exercises/conversions/from_str.rs
@@ -2,6 +2,7 @@
// Additionally, upon implementing FromStr, you can use the `parse` method
// on strings to generate an object of the implementor type.
// You can read more about it at https://doc.rust-lang.org/std/str/trait.FromStr.html
+use std::error;
use std::str::FromStr;
#[derive(Debug)]
@@ -23,7 +24,7 @@ struct Person {
// If everything goes well, then return a Result of a Person object
impl FromStr for Person {
- type Err = String;
+ type Err = Box<dyn error::Error>;
fn from_str(s: &str) -> Result<Person, Self::Err> {
}
}