diff options
Diffstat (limited to 'src/test/ui/consts/control-flow/loop.rs')
| -rw-r--r-- | src/test/ui/consts/control-flow/loop.rs | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/src/test/ui/consts/control-flow/loop.rs b/src/test/ui/consts/control-flow/loop.rs index bc57f7568a7..30cc3d1b1af 100644 --- a/src/test/ui/consts/control-flow/loop.rs +++ b/src/test/ui/consts/control-flow/loop.rs @@ -1,31 +1,29 @@ // Ensure that loops are forbidden in a const context unless `#![feature(const_loop)]` is enabled. -// `while` loops require `#![feature(const_if_match)]` to be enabled as well. // gate-test-const_loop -// revisions: stock if_match loop_ both +// revisions: stock loop_ -#![cfg_attr(any(both, if_match), feature(const_if_match))] -#![cfg_attr(any(both, loop_), feature(const_loop))] +#![cfg_attr(loop_, feature(const_loop))] -const _: () = loop {}; //[stock,if_match]~ ERROR `loop` is not allowed in a `const` +const _: () = loop {}; //[stock]~ ERROR `loop` is not allowed in a `const` -static FOO: i32 = loop { break 4; }; //[stock,if_match]~ ERROR `loop` is not allowed in a `static` +static FOO: i32 = loop { break 4; }; //[stock]~ ERROR `loop` is not allowed in a `static` const fn foo() { - loop {} //[stock,if_match]~ ERROR `loop` is not allowed in a `const fn` + loop {} //[stock]~ ERROR `loop` is not allowed in a `const fn` } pub trait Foo { - const BAR: i32 = loop { break 4; }; //[stock,if_match]~ ERROR `loop` is not allowed in a `const` + const BAR: i32 = loop { break 4; }; //[stock]~ ERROR `loop` is not allowed in a `const` } impl Foo for () { - const BAR: i32 = loop { break 4; }; //[stock,if_match]~ ERROR `loop` is not allowed in a `const` + const BAR: i32 = loop { break 4; }; //[stock]~ ERROR `loop` is not allowed in a `const` } fn non_const_outside() { const fn const_inside() { - loop {} //[stock,if_match]~ ERROR `loop` is not allowed in a `const fn` + loop {} //[stock]~ ERROR `loop` is not allowed in a `const fn` } } @@ -38,7 +36,7 @@ const fn const_outside() { fn main() { let x = [0; { while false {} - //[stock,if_match,loop_]~^ ERROR `while` is not allowed in a `const` + //[stock]~^ ERROR `while` is not allowed in a `const` 4 }]; } @@ -46,11 +44,11 @@ fn main() { const _: i32 = { let mut x = 0; - while x < 4 { //[stock,if_match,loop_]~ ERROR `while` is not allowed in a `const` + while x < 4 { //[stock]~ ERROR `while` is not allowed in a `const` x += 1; } - while x < 8 { //[stock,if_match,loop_]~ ERROR `while` is not allowed in a `const` + while x < 8 { //[stock]~ ERROR `while` is not allowed in a `const` x += 1; } @@ -60,11 +58,11 @@ const _: i32 = { const _: i32 = { let mut x = 0; - for i in 0..4 { //[stock,if_match,loop_,both]~ ERROR `for` is not allowed in a `const` + for i in 0..4 { //[stock,loop_]~ ERROR `for` is not allowed in a `const` x += i; } - for i in 0..4 { //[stock,if_match,loop_,both]~ ERROR `for` is not allowed in a `const` + for i in 0..4 { //[stock,loop_]~ ERROR `for` is not allowed in a `const` x += i; } @@ -74,16 +72,16 @@ const _: i32 = { const _: i32 = { let mut x = 0; - loop { //[stock,if_match]~ ERROR `loop` is not allowed in a `const` + loop { //[stock]~ ERROR `loop` is not allowed in a `const` x += 1; - if x == 4 { //[stock,loop_]~ ERROR `if` is not allowed in a `const` + if x == 4 { break; } } - loop { //[stock,if_match]~ ERROR `loop` is not allowed in a `const` + loop { //[stock]~ ERROR `loop` is not allowed in a `const` x += 1; - if x == 8 { //[stock,loop_]~ ERROR `if` is not allowed in a `const` + if x == 8 { break; } } @@ -93,7 +91,7 @@ const _: i32 = { const _: i32 = { let mut x = 0; - while let None = Some(x) { } //[stock,if_match,loop_]~ ERROR `while` is not allowed in a `const` - while let None = Some(x) { } //[stock,if_match,loop_]~ ERROR `while` is not allowed in a `const` + while let None = Some(x) { } //[stock]~ ERROR `while` is not allowed in a `const` + while let None = Some(x) { } //[stock]~ ERROR `while` is not allowed in a `const` x }; |
