mirror of
https://github.com/rust-lang/rustlings.git
synced 2024-12-26 00:00:03 +03:00
feat(conversions): add hint comments
This commit is contained in:
parent
8cfedb1673
commit
74f44f55e3
|
@ -1,6 +1,8 @@
|
|||
// The From trait is used for value-to-value conversions.
|
||||
// If From is implemented correctly for a type, the Into trait should work conversely.
|
||||
// You can read more about it at https://doc.rust-lang.org/std/convert/trait.From.html
|
||||
// Execute `rustlings hint from_into` or use the `hint` watch subcommand for a hint.
|
||||
|
||||
#[derive(Debug)]
|
||||
struct Person {
|
||||
name: String,
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
// 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
|
||||
// Execute `rustlings hint from_str` or use the `hint` watch subcommand for a hint.
|
||||
|
||||
use std::num::ParseIntError;
|
||||
use std::str::FromStr;
|
||||
|
||||
|
@ -37,6 +39,9 @@ enum ParsePersonError {
|
|||
// with something like `"4".parse::<usize>()`
|
||||
// 6. If while extracting the name and the age something goes wrong, an error should be returned
|
||||
// If everything goes well, then return a Result of a Person object
|
||||
//
|
||||
// As an aside: `Box<dyn Error>` implements `From<&'_ str>`. This means that if you want to return a
|
||||
// string error message, you can do so via just using return `Err("my error message".into())`.
|
||||
|
||||
impl FromStr for Person {
|
||||
type Err = ParsePersonError;
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
// Basically, this is the same as From. The main difference is that this should return a Result type
|
||||
// instead of the target type itself.
|
||||
// You can read more about it at https://doc.rust-lang.org/std/convert/trait.TryFrom.html
|
||||
// Execute `rustlings hint from_str` or use the `hint` watch subcommand for a hint.
|
||||
|
||||
use std::convert::{TryFrom, TryInto};
|
||||
|
||||
#[derive(Debug, PartialEq)]
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
//
|
||||
// The goal is to make sure that the division does not fail to compile
|
||||
// and returns the proper type.
|
||||
// Execute `rustlings hint using_as` or use the `hint` watch subcommand for a hint.
|
||||
|
||||
// I AM NOT DONE
|
||||
|
||||
|
|
Loading…
Reference in a new issue