1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-08-08 08:22:52 +02:00

Error is not yet available in core on stable (#1005)

This commit is contained in:
Dominik Maier
2023-07-18 11:02:24 +02:00
committed by GitHub
parent 3568823731
commit 46a38bc67a

View File

@ -52,8 +52,9 @@ Key points:
* The `username` variable can be either `Ok(string)` or `Err(error)`. * The `username` variable can be either `Ok(string)` or `Err(error)`.
* Use the `fs::write` call to test out the different scenarios: no file, empty file, file with username. * Use the `fs::write` call to test out the different scenarios: no file, empty file, file with username.
It is good practice for all error types to implement `std::error::Error`, which requires `Debug` and It is good practice for all error types that don't need to be `no_std` to implement `std::error::Error`, which requires `Debug` and `Display`. The `Error` crate for `core` is only available in [nightly](https://github.com/rust-lang/rust/issues/103765), so not fully `no_std` compatible yet.
`Display`. It's generally helpful for them to implement `Clone` and `Eq` too where possible, to make
It's generally helpful for them to implement `Clone` and `Eq` too where possible, to make
life easier for tests and consumers of your library. In this case we can't easily do so, because life easier for tests and consumers of your library. In this case we can't easily do so, because
`io::Error` doesn't implement them. `io::Error` doesn't implement them.