From b0609889d7ca7f11dcb90880caf97fdf411a9374 Mon Sep 17 00:00:00 2001 From: Maybe Waffle Date: Thu, 12 Jan 2023 19:25:32 +0000 Subject: [PATCH] Add a test for recovery of unticked labels --- tests/ui/parser/recover-unticked-labels.rs | 5 ++++ .../ui/parser/recover-unticked-labels.stderr | 25 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 tests/ui/parser/recover-unticked-labels.rs create mode 100644 tests/ui/parser/recover-unticked-labels.stderr diff --git a/tests/ui/parser/recover-unticked-labels.rs b/tests/ui/parser/recover-unticked-labels.rs new file mode 100644 index 00000000000..88bd15d0ca8 --- /dev/null +++ b/tests/ui/parser/recover-unticked-labels.rs @@ -0,0 +1,5 @@ +fn main() { + 'label: loop { break label } //~ error: cannot find value `label` in this scope + 'label: loop { break label 0 } //~ error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `0` + 'label: loop { continue label } //~ error: expected one of `.`, `;`, `?`, `}`, or an operator, found `label` +} diff --git a/tests/ui/parser/recover-unticked-labels.stderr b/tests/ui/parser/recover-unticked-labels.stderr new file mode 100644 index 00000000000..3b48c1224b3 --- /dev/null +++ b/tests/ui/parser/recover-unticked-labels.stderr @@ -0,0 +1,25 @@ +error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `0` + --> $DIR/recover-unticked-labels.rs:3:32 + | +LL | 'label: loop { break label 0 } + | ^ expected one of 8 possible tokens + +error: expected one of `.`, `;`, `?`, `}`, or an operator, found `label` + --> $DIR/recover-unticked-labels.rs:4:29 + | +LL | 'label: loop { continue label } + | ^^^^^ expected one of `.`, `;`, `?`, `}`, or an operator + +error[E0425]: cannot find value `label` in this scope + --> $DIR/recover-unticked-labels.rs:2:26 + | +LL | 'label: loop { break label } + | ------ ^^^^^ + | | | + | | not found in this scope + | | help: use the similarly named label: `'label` + | a label with a similar name exists + +error: aborting due to 3 previous errors + +For more information about this error, try `rustc --explain E0425`.