Account for macros
This commit is contained in:
parent
c30d57bb77
commit
d23dc2093c
3 changed files with 113 additions and 1 deletions
43
tests/ui/parser/break-in-unlabeled-block-in-macro.rs
Normal file
43
tests/ui/parser/break-in-unlabeled-block-in-macro.rs
Normal file
|
@ -0,0 +1,43 @@
|
|||
macro_rules! foo {
|
||||
() => {
|
||||
break (); //~ ERROR `break` outside of a loop or labeled block
|
||||
};
|
||||
($e: expr) => {
|
||||
break $e; //~ ERROR `break` outside of a loop or labeled block
|
||||
};
|
||||
(stmt $s: stmt) => {
|
||||
$s
|
||||
};
|
||||
(@ $e: expr) => {
|
||||
{ break $e; } //~ ERROR `break` outside of a loop or labeled block
|
||||
};
|
||||
(=> $s: stmt) => {
|
||||
{ $s }
|
||||
};
|
||||
}
|
||||
|
||||
fn main() {
|
||||
{
|
||||
foo!();
|
||||
}
|
||||
{
|
||||
foo!(());
|
||||
}
|
||||
{
|
||||
foo!(stmt break ()); //~ ERROR `break` outside of a loop or labeled block
|
||||
}
|
||||
{
|
||||
foo!(@ ());
|
||||
}
|
||||
{
|
||||
foo!(=> break ()); //~ ERROR `break` outside of a loop or labeled block
|
||||
}
|
||||
{
|
||||
macro_rules! bar {
|
||||
() => {
|
||||
break () //~ ERROR `break` outside of a loop or labeled block
|
||||
};
|
||||
}
|
||||
bar!()
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue