Skip to content

Commit

Permalink
Rollup merge of #105630 - albertlarsan68:test-92481, r=TaKO8Ki
Browse files Browse the repository at this point in the history
Add a test for #92481

The test was copied ad-hoc from #92481, but I can't get the test to pass, because of needing to get twice the same error on the last line of the source.

Closes #92481
  • Loading branch information
matthiaskrgr committed Dec 14, 2022
2 parents 0e861cc + f7db4f0 commit e2c9823
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 0 deletions.
14 changes: 14 additions & 0 deletions src/test/ui/typeck/issue-92481.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//check-fail

#![crate_type="lib"]

fn r({) {
Ok { //~ ERROR mismatched types [E0308]
d..||_=m
}
}
//~^^^^^ ERROR expected parameter name, found `{`
//~| ERROR expected one of `,`, `:`, or `}`, found `..`
//~^^^^^ ERROR cannot find value `d` in this scope [E0425]
//~| ERROR cannot find value `m` in this scope [E0425]
//~| ERROR variant `Result<_, _>::Ok` has no field named `d` [E0559]
60 changes: 60 additions & 0 deletions src/test/ui/typeck/issue-92481.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
error: expected parameter name, found `{`
--> $DIR/issue-92481.rs:5:6
|
LL | fn r({) {
| ^ expected parameter name

error: expected one of `,`, `:`, or `}`, found `..`
--> $DIR/issue-92481.rs:5:6
|
LL | fn r({) {
| ^ unclosed delimiter
LL | Ok {
LL | d..||_=m
| -^
| |
| help: `}` may belong here

error[E0425]: cannot find value `d` in this scope
--> $DIR/issue-92481.rs:7:9
|
LL | d..||_=m
| ^ not found in this scope

error[E0425]: cannot find value `m` in this scope
--> $DIR/issue-92481.rs:7:16
|
LL | d..||_=m
| ^ not found in this scope

error[E0559]: variant `Result<_, _>::Ok` has no field named `d`
--> $DIR/issue-92481.rs:7:9
|
LL | d..||_=m
| ^ field does not exist
--> $SRC_DIR/core/src/result.rs:LL:COL
|
= note: `Result<_, _>::Ok` defined here
|
help: `Result<_, _>::Ok` is a tuple variant, use the appropriate syntax
|
LL | Result<_, _>::Ok(/* fields */)
|

error[E0308]: mismatched types
--> $DIR/issue-92481.rs:6:5
|
LL | fn r({) {
| - help: a return type might be missing here: `-> _`
LL | / Ok {
LL | | d..||_=m
LL | | }
| |_____^ expected `()`, found enum `Result`
|
= note: expected unit type `()`
found enum `Result<_, _>`

error: aborting due to 6 previous errors

Some errors have detailed explanations: E0308, E0425, E0559.
For more information about an error, try `rustc --explain E0308`.

0 comments on commit e2c9823

Please sign in to comment.