diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-09-24 14:29:56 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-24 14:29:56 +0200 |
| commit | 81eb35f18a4d305ab88fd020c88b0113a5747f0e (patch) | |
| tree | e8ce5ee8a6bd3ac47398784925e207f5aa18af3d /src/test | |
| parent | 5fb41a60319ad34628b270ff8f9973b73f25b3df (diff) | |
| parent | ac06d9cca369b164ab522eba81d6b048309f058a (diff) | |
| download | rust-81eb35f18a4d305ab88fd020c88b0113a5747f0e.tar.gz rust-81eb35f18a4d305ab88fd020c88b0113a5747f0e.zip | |
Rollup merge of #102210 - notriddle:notriddle/did-you-mean, r=cjgillot
diagnostics: avoid syntactically invalid suggestion in if conditionals Fixes #101065
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/suggestions/issue-101065.fixed | 14 | ||||
| -rw-r--r-- | src/test/ui/suggestions/issue-101065.rs | 14 | ||||
| -rw-r--r-- | src/test/ui/suggestions/issue-101065.stderr | 23 |
3 files changed, 51 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/issue-101065.fixed b/src/test/ui/suggestions/issue-101065.fixed new file mode 100644 index 00000000000..88c716cc86c --- /dev/null +++ b/src/test/ui/suggestions/issue-101065.fixed @@ -0,0 +1,14 @@ +// check-fail +// run-rustfix + +enum FakeResult<T> { + Ok(T) +} + +fn main() { + let _x = if true { + FakeResult::Ok(FakeResult::Ok(())) + } else { + FakeResult::Ok(FakeResult::Ok(())) //~ERROR E0308 + }; +} diff --git a/src/test/ui/suggestions/issue-101065.rs b/src/test/ui/suggestions/issue-101065.rs new file mode 100644 index 00000000000..2715f102708 --- /dev/null +++ b/src/test/ui/suggestions/issue-101065.rs @@ -0,0 +1,14 @@ +// check-fail +// run-rustfix + +enum FakeResult<T> { + Ok(T) +} + +fn main() { + let _x = if true { + FakeResult::Ok(FakeResult::Ok(())) + } else { + FakeResult::Ok(()) //~ERROR E0308 + }; +} diff --git a/src/test/ui/suggestions/issue-101065.stderr b/src/test/ui/suggestions/issue-101065.stderr new file mode 100644 index 00000000000..6f7ecd24ca4 --- /dev/null +++ b/src/test/ui/suggestions/issue-101065.stderr @@ -0,0 +1,23 @@ +error[E0308]: `if` and `else` have incompatible types + --> $DIR/issue-101065.rs:12:9 + | +LL | let _x = if true { + | ______________- +LL | | FakeResult::Ok(FakeResult::Ok(())) + | | ---------------------------------- expected because of this +LL | | } else { +LL | | FakeResult::Ok(()) + | | ^^^^^^^^^^^^^^^^^^ expected enum `FakeResult`, found `()` +LL | | }; + | |_____- `if` and `else` have incompatible types + | + = note: expected enum `FakeResult<FakeResult<()>>` + found enum `FakeResult<()>` +help: try wrapping the expression in `FakeResult::Ok` + | +LL | FakeResult::Ok(FakeResult::Ok(())) + | +++++++++++++++ + + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0308`. |
