diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-11-13 12:05:37 +0100 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2019-12-06 10:36:10 -0500 |
| commit | 92c4e192491dc84cc97aea5afc0ed00faf5f1e61 (patch) | |
| tree | 31ac734f39db5d5bc66d8a52fda4011ec19e6e85 /src/test/ui/parser | |
| parent | b78102019b830f9cf6b33d8d1d0774148cea1d98 (diff) | |
| download | rust-92c4e192491dc84cc97aea5afc0ed00faf5f1e61.tar.gz rust-92c4e192491dc84cc97aea5afc0ed00faf5f1e61.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 | 15 |
2 files changed, 29 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..560b46a1925 --- /dev/null +++ b/src/test/ui/parser/issue-66357-unexpected-unreachable.stderr @@ -0,0 +1,15 @@ +error: expected one of `,` or `:`, found `(` + --> $DIR/issue-66357-unexpected-unreachable.rs:12:13 + | +LL | fn f() { |[](* } + | ^ expected one of `,` or `:` here + +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 \ No newline at end of file |
