diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2019-11-14 14:16:23 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-14 14:16:23 +0900 |
| commit | 8d059974f79015946090e6b2e1b40db7b7cf2abb (patch) | |
| tree | ea8d56767db7c1ed8d1c7b42ff9abdea0d196e9a /src/test | |
| parent | 28c0e40b44f81eb810643d9286beb26c4e22238e (diff) | |
| parent | dcd91d5ceb1990a48c985e01cbe6fca7e274f016 (diff) | |
Rollup merge of #66361 - Centril:66357, r=pnkfelix
parser: don't use `unreachable!()` in `fn unexpected`. Fixes #66357 r? @estebank
Diffstat (limited to 'src/test')
| -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 + |
