From e02c5b5930c2c9ba3e5423fe12e2ef0155017297 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 30 May 2024 20:31:36 +0200 Subject: Merging upstream version 1.74.1+dfsg1. Signed-off-by: Daniel Baumann --- tests/ui/try-trait/issue-32709.rs | 8 ++++++++ tests/ui/try-trait/issue-32709.stderr | 24 ++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 tests/ui/try-trait/issue-32709.rs create mode 100644 tests/ui/try-trait/issue-32709.stderr (limited to 'tests/ui/try-trait') diff --git a/tests/ui/try-trait/issue-32709.rs b/tests/ui/try-trait/issue-32709.rs new file mode 100644 index 000000000..c05bfdc4c --- /dev/null +++ b/tests/ui/try-trait/issue-32709.rs @@ -0,0 +1,8 @@ +// Make sure that the span of try shorthand does not include the trailing +// semicolon; +fn a() -> Result { + Err(5)?; //~ ERROR + Ok(1) +} + +fn main() {} diff --git a/tests/ui/try-trait/issue-32709.stderr b/tests/ui/try-trait/issue-32709.stderr new file mode 100644 index 000000000..94e8f9295 --- /dev/null +++ b/tests/ui/try-trait/issue-32709.stderr @@ -0,0 +1,24 @@ +error[E0277]: `?` couldn't convert the error to `()` + --> $DIR/issue-32709.rs:4:11 + | +LL | fn a() -> Result { + | --------------- expected `()` because of this +LL | Err(5)?; + | ^ the trait `From<{integer}>` is not implemented for `()` + | + = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait + = help: the following other types implement trait `From`: + <(T,) as From<[T; 1]>> + <(T, T) as From<[T; 2]>> + <(T, T, T) as From<[T; 3]>> + <(T, T, T, T) as From<[T; 4]>> + <(T, T, T, T, T) as From<[T; 5]>> + <(T, T, T, T, T, T) as From<[T; 6]>> + <(T, T, T, T, T, T, T) as From<[T; 7]>> + <(T, T, T, T, T, T, T, T) as From<[T; 8]>> + and 4 others + = note: required for `Result` to implement `FromResidual>` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0277`. -- cgit v1.2.3