mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-27 07:00:55 +00:00
4698b366c4
When there are multiple macros in use, it can be difficult to tell which one was responsible for producing an error.
93 lines
3.2 KiB
Text
93 lines
3.2 KiB
Text
error: consider implementing `TryFrom` instead
|
|
--> $DIR/fallible_impl_from.rs:5:1
|
|
|
|
|
LL | / impl From<String> for Foo {
|
|
LL | | fn from(s: String) -> Self {
|
|
LL | | Foo(s.parse().unwrap())
|
|
LL | | }
|
|
LL | | }
|
|
| |_^
|
|
|
|
|
note: the lint level is defined here
|
|
--> $DIR/fallible_impl_from.rs:1:9
|
|
|
|
|
LL | #![deny(clippy::fallible_impl_from)]
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
= help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail
|
|
note: potential failure(s)
|
|
--> $DIR/fallible_impl_from.rs:7:13
|
|
|
|
|
LL | Foo(s.parse().unwrap())
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
|
|
error: consider implementing `TryFrom` instead
|
|
--> $DIR/fallible_impl_from.rs:26:1
|
|
|
|
|
LL | / impl From<usize> for Invalid {
|
|
LL | | fn from(i: usize) -> Invalid {
|
|
LL | | if i != 42 {
|
|
LL | | panic!();
|
|
... |
|
|
LL | | }
|
|
LL | | }
|
|
| |_^
|
|
|
|
|
= help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail
|
|
note: potential failure(s)
|
|
--> $DIR/fallible_impl_from.rs:29:13
|
|
|
|
|
LL | panic!();
|
|
| ^^^^^^^^^
|
|
= note: this error originates in the macro `$crate::panic::panic_2015` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: consider implementing `TryFrom` instead
|
|
--> $DIR/fallible_impl_from.rs:35:1
|
|
|
|
|
LL | / impl From<Option<String>> for Invalid {
|
|
LL | | fn from(s: Option<String>) -> Invalid {
|
|
LL | | let s = s.unwrap();
|
|
LL | | if !s.is_empty() {
|
|
... |
|
|
LL | | }
|
|
LL | | }
|
|
| |_^
|
|
|
|
|
= help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail
|
|
note: potential failure(s)
|
|
--> $DIR/fallible_impl_from.rs:37:17
|
|
|
|
|
LL | let s = s.unwrap();
|
|
| ^^^^^^^^^^
|
|
LL | if !s.is_empty() {
|
|
LL | panic!("42");
|
|
| ^^^^^^^^^^^^^
|
|
LL | } else if s.parse::<u32>().unwrap() != 42 {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
LL | panic!("{:?}", s);
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
= note: this error originates in the macro `$crate::panic::panic_2015` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: consider implementing `TryFrom` instead
|
|
--> $DIR/fallible_impl_from.rs:53:1
|
|
|
|
|
LL | / impl<'a> From<&'a mut <Box<u32> as ProjStrTrait>::ProjString> for Invalid {
|
|
LL | | fn from(s: &'a mut <Box<u32> as ProjStrTrait>::ProjString) -> Invalid {
|
|
LL | | if s.parse::<u32>().ok().unwrap() != 42 {
|
|
LL | | panic!("{:?}", s);
|
|
... |
|
|
LL | | }
|
|
LL | | }
|
|
| |_^
|
|
|
|
|
= help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail
|
|
note: potential failure(s)
|
|
--> $DIR/fallible_impl_from.rs:55:12
|
|
|
|
|
LL | if s.parse::<u32>().ok().unwrap() != 42 {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
LL | panic!("{:?}", s);
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
= note: this error originates in the macro `$crate::panic::panic_2015` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: aborting due to 4 previous errors
|
|
|