diff options
| -rw-r--r-- | src/test/ui/try-block/try-block-bad-type.rs | 2 | ||||
| -rw-r--r-- | src/test/ui/try-block/try-block-bad-type.stderr | 10 |
2 files changed, 4 insertions, 8 deletions
diff --git a/src/test/ui/try-block/try-block-bad-type.rs b/src/test/ui/try-block/try-block-bad-type.rs index 496ba145810..ef6e690e1bd 100644 --- a/src/test/ui/try-block/try-block-bad-type.rs +++ b/src/test/ui/try-block/try-block-bad-type.rs @@ -3,7 +3,7 @@ #![feature(try_blocks)] pub fn main() { - let res: Result<u32, i32> = try { + let res: Result<u32, std::array::TryFromSliceError> = try { Err("")?; //~ ERROR `?` couldn't convert the error 5 }; diff --git a/src/test/ui/try-block/try-block-bad-type.stderr b/src/test/ui/try-block/try-block-bad-type.stderr index 2d1313d7d0e..75a42c0d6b7 100644 --- a/src/test/ui/try-block/try-block-bad-type.stderr +++ b/src/test/ui/try-block/try-block-bad-type.stderr @@ -1,16 +1,12 @@ -error[E0277]: `?` couldn't convert the error to `i32` +error[E0277]: `?` couldn't convert the error to `TryFromSliceError` --> $DIR/try-block-bad-type.rs:7:16 | LL | Err("")?; - | ^ the trait `From<&str>` is not implemented for `i32` + | ^ the trait `From<&str>` is not implemented for `TryFromSliceError` | = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait = help: the following implementations were found: - <i32 as From<NonZeroI32>> - <i32 as From<bool>> - <i32 as From<i16>> - <i32 as From<i8>> - and 2 others + <TryFromSliceError as From<Infallible>> = note: required by `from` error[E0271]: type mismatch resolving `<Result<i32, i32> as Try>::Ok == &str` |
