96 lines
1.3 KiB
Rust
96 lines
1.3 KiB
Rust
const _: () = loop { break (); };
|
|
|
|
static FOO: i32 = loop { break 4; };
|
|
|
|
const fn foo() {
|
|
loop {}
|
|
}
|
|
|
|
pub trait Foo {
|
|
const BAR: i32 = loop { break 4; };
|
|
}
|
|
|
|
impl Foo for () {
|
|
const BAR: i32 = loop { break 4; };
|
|
}
|
|
|
|
fn non_const_outside() {
|
|
const fn const_inside() {
|
|
loop {}
|
|
}
|
|
}
|
|
|
|
const fn const_outside() {
|
|
fn non_const_inside() {
|
|
loop {}
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
let x = [0; {
|
|
while false {}
|
|
4
|
|
}];
|
|
}
|
|
|
|
const _: i32 = {
|
|
let mut x = 0;
|
|
|
|
while x < 4 {
|
|
x += 1;
|
|
}
|
|
|
|
while x < 8 {
|
|
x += 1;
|
|
}
|
|
|
|
x
|
|
};
|
|
|
|
const _: i32 = {
|
|
let mut x = 0;
|
|
|
|
for i in 0..4 { //~ ERROR `for` is not allowed in a `const`
|
|
//~^ ERROR: cannot call
|
|
//~| ERROR: mutable references
|
|
//~| ERROR: cannot convert
|
|
x += i;
|
|
}
|
|
|
|
for i in 0..4 { //~ ERROR `for` is not allowed in a `const`
|
|
//~^ ERROR: cannot call
|
|
//~| ERROR: mutable references
|
|
//~| ERROR: cannot convert
|
|
x += i;
|
|
}
|
|
|
|
x
|
|
};
|
|
|
|
const _: i32 = {
|
|
let mut x = 0;
|
|
|
|
loop {
|
|
x += 1;
|
|
if x == 4 {
|
|
break;
|
|
}
|
|
}
|
|
|
|
loop {
|
|
x += 1;
|
|
if x == 8 {
|
|
break;
|
|
}
|
|
}
|
|
|
|
x
|
|
};
|
|
|
|
const _: i32 = {
|
|
let mut x = 0;
|
|
while let None = Some(x) { }
|
|
while let None = Some(x) { }
|
|
x
|
|
};
|