diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-11-13 12:05:37 +0100 |
|---|---|---|
| committer | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-11-13 12:05:37 +0100 |
| commit | dcd91d5ceb1990a48c985e01cbe6fca7e274f016 (patch) | |
| tree | d34462f679451f7767dc9df83ddfaf61fdda6ef8 /src/test/ui/parser | |
| parent | 374ad1b0063963060a00a3110e44d76e7105d059 (diff) | |
| download | rust-dcd91d5ceb1990a48c985e01cbe6fca7e274f016.tar.gz rust-dcd91d5ceb1990a48c985e01cbe6fca7e274f016.zip | |
parser: don't use `unreachable!()` in `fn unexpected`.
Diffstat (limited to 'src/test/ui/parser')
| -rw-r--r-- | src/test/ui/parser/issue-66357-unexpected-unreachable.rs | 14 | ||||
| -rw-r--r-- | src/test/ui/parser/issue-66357-unexpected-unreachable.stderr | 16 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/test/ui/parser/issue-66357-unexpected-unreachable.rs b/src/test/ui/parser/issue-66357-unexpected-unreachable.rs new file mode 100644 index 00000000000..1730adfa914 --- /dev/null +++ b/src/test/ui/parser/issue-66357-unexpected-unreachable.rs @@ -0,0 +1,14 @@ +// The problem in #66357 was that the call trace: +// +// - parse_fn_block_decl +// - expect_or +// - unexpected +// - expect_one_of +// - expected_one_of_not_found +// - recover_closing_delimiter +// +// ended up bubbling up `Ok(true)` to `unexpected` which then used `unreachable!()`. + +fn f() { |[](* } +//~^ ERROR expected one of `,` or `:`, found `(` +//~| ERROR expected one of `)`, `-`, `_`, `box`, `mut`, `ref`, `|`, identifier, or path, found `*` diff --git a/src/test/ui/parser/issue-66357-unexpected-unreachable.stderr b/src/test/ui/parser/issue-66357-unexpected-unreachable.stderr new file mode 100644 index 00000000000..00d84e2afe3 --- /dev/null +++ b/src/test/ui/parser/issue-66357-unexpected-unreachable.stderr @@ -0,0 +1,16 @@ +error: expected one of `,` or `:`, found `(` + --> $DIR/issue-66357-unexpected-unreachable.rs:12:13 + | +LL | fn f() { |[](* } + | ^ expected one of `,` or `:` + +error: expected one of `)`, `-`, `_`, `box`, `mut`, `ref`, `|`, identifier, or path, found `*` + --> $DIR/issue-66357-unexpected-unreachable.rs:12:14 + | +LL | fn f() { |[](* } + | -^ help: `)` may belong here + | | + | unclosed delimiter + +error: aborting due to 2 previous errors + |
