diff options
| author | est31 <MTest31@outlook.com> | 2018-05-12 09:54:53 +0200 |
|---|---|---|
| committer | est31 <MTest31@outlook.com> | 2018-05-16 13:56:25 +0200 |
| commit | 128f2b5870cb5e6a01ec06bbee4f150b4ca6c19d (patch) | |
| tree | b0ef86ffd5efc2f01821333e42e692dc47c1e3a8 /src | |
| parent | f8c2598dfc45f929ec85e9d1c542f1dbb6a9982c (diff) | |
| download | rust-128f2b5870cb5e6a01ec06bbee4f150b4ca6c19d.tar.gz rust-128f2b5870cb5e6a01ec06bbee4f150b4ca6c19d.zip | |
Test that label break value only works on actual blocks
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/label_break_value_illegal_uses.rs | 29 | ||||
| -rw-r--r-- | src/test/ui/label_break_value_illegal_uses.stderr | 31 |
2 files changed, 60 insertions, 0 deletions
diff --git a/src/test/ui/label_break_value_illegal_uses.rs b/src/test/ui/label_break_value_illegal_uses.rs new file mode 100644 index 00000000000..d0bccdeae85 --- /dev/null +++ b/src/test/ui/label_break_value_illegal_uses.rs @@ -0,0 +1,29 @@ +// Copyright 2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// These are forbidden occurences of label-break-value + +fn labeled_unsafe() { + unsafe 'b: {} //~ ERROR expected one of `extern`, `fn`, or `{` +} + +fn labeled_if() { + if true 'b: {} //~ ERROR expected `{`, found `'b` +} + +fn labeled_else() { + if true {} else 'b: {} //~ ERROR expected `{`, found `'b` +} + +fn labeled_match() { + match false 'b: {} //~ ERROR expected one of `.`, `?`, `{`, or an operator +} + +pub fn main() {} diff --git a/src/test/ui/label_break_value_illegal_uses.stderr b/src/test/ui/label_break_value_illegal_uses.stderr new file mode 100644 index 00000000000..6cf6e4d0c7f --- /dev/null +++ b/src/test/ui/label_break_value_illegal_uses.stderr @@ -0,0 +1,31 @@ +error: expected one of `extern`, `fn`, or `{`, found `'b` + --> $DIR/label_break_value_illegal_uses.rs:14:12 + | +LL | unsafe 'b: {} //~ ERROR expected one of `extern`, `fn`, or `{` + | ^^ expected one of `extern`, `fn`, or `{` here + +error: expected `{`, found `'b` + --> $DIR/label_break_value_illegal_uses.rs:18:13 + | +LL | if true 'b: {} //~ ERROR expected `{`, found `'b` + | -- ^^---- + | | | + | | help: try placing this code inside a block: `{ 'b: { } }` + | this `if` statement has a condition, but no block + +error: expected `{`, found `'b` + --> $DIR/label_break_value_illegal_uses.rs:22:21 + | +LL | if true {} else 'b: {} //~ ERROR expected `{`, found `'b` + | ^^---- + | | + | help: try placing this code inside a block: `{ 'b: { } }` + +error: expected one of `.`, `?`, `{`, or an operator, found `'b` + --> $DIR/label_break_value_illegal_uses.rs:26:17 + | +LL | match false 'b: {} //~ ERROR expected one of `.`, `?`, `{`, or an operator + | ^^ expected one of `.`, `?`, `{`, or an operator here + +error: aborting due to 4 previous errors + |
