Rollup merge of #61518 - czipperz:const-fn-doc-disallow-loops, r=Centril
Add loops to doc list of things not stable in const fn Closes #61508
This commit is contained in:
commit
17393b26b9
6 changed files with 14 additions and 14 deletions
|
@ -299,7 +299,7 @@ fn check_terminator(
|
|||
|
||||
TerminatorKind::FalseEdges { .. } | TerminatorKind::SwitchInt { .. } => Err((
|
||||
span,
|
||||
"`if`, `match`, `&&` and `||` are not stable in const fn".into(),
|
||||
"loops and conditional expressions are not stable in const fn".into(),
|
||||
)),
|
||||
| TerminatorKind::Abort | TerminatorKind::Unreachable => {
|
||||
Err((span, "const fn with unreachable code is not stable".into()))
|
||||
|
|
|
@ -160,7 +160,7 @@ LL | const fn foo30_2_with_unsafe(x: *mut u32) -> usize { unsafe { x as usize }
|
|||
= note: for more information, see issue https://github.com/rust-lang/rust/issues/57563
|
||||
= help: add #![feature(const_fn)] to the crate attributes to enable
|
||||
|
||||
error[E0723]: `if`, `match`, `&&` and `||` are not stable in const fn
|
||||
error[E0723]: loops and conditional expressions are not stable in const fn
|
||||
--> $DIR/min_const_fn.rs:100:38
|
||||
|
|
||||
LL | const fn foo30_4(b: bool) -> usize { if b { 1 } else { 42 } }
|
||||
|
@ -169,7 +169,7 @@ LL | const fn foo30_4(b: bool) -> usize { if b { 1 } else { 42 } }
|
|||
= note: for more information, see issue https://github.com/rust-lang/rust/issues/57563
|
||||
= help: add #![feature(const_fn)] to the crate attributes to enable
|
||||
|
||||
error[E0723]: `if`, `match`, `&&` and `||` are not stable in const fn
|
||||
error[E0723]: loops and conditional expressions are not stable in const fn
|
||||
--> $DIR/min_const_fn.rs:102:29
|
||||
|
|
||||
LL | const fn foo30_5(b: bool) { while b { } }
|
||||
|
@ -178,7 +178,7 @@ LL | const fn foo30_5(b: bool) { while b { } }
|
|||
= note: for more information, see issue https://github.com/rust-lang/rust/issues/57563
|
||||
= help: add #![feature(const_fn)] to the crate attributes to enable
|
||||
|
||||
error[E0723]: `if`, `match`, `&&` and `||` are not stable in const fn
|
||||
error[E0723]: loops and conditional expressions are not stable in const fn
|
||||
--> $DIR/min_const_fn.rs:104:44
|
||||
|
|
||||
LL | const fn foo36(a: bool, b: bool) -> bool { a && b }
|
||||
|
@ -187,7 +187,7 @@ LL | const fn foo36(a: bool, b: bool) -> bool { a && b }
|
|||
= note: for more information, see issue https://github.com/rust-lang/rust/issues/57563
|
||||
= help: add #![feature(const_fn)] to the crate attributes to enable
|
||||
|
||||
error[E0723]: `if`, `match`, `&&` and `||` are not stable in const fn
|
||||
error[E0723]: loops and conditional expressions are not stable in const fn
|
||||
--> $DIR/min_const_fn.rs:106:44
|
||||
|
|
||||
LL | const fn foo37(a: bool, b: bool) -> bool { a || b }
|
||||
|
|
|
@ -98,13 +98,13 @@ const fn foo30_2(x: *mut u32) -> usize { x as usize }
|
|||
const fn foo30_2_with_unsafe(x: *mut u32) -> usize { unsafe { x as usize } }
|
||||
//~^ ERROR casting pointers to ints is unstable
|
||||
const fn foo30_4(b: bool) -> usize { if b { 1 } else { 42 } }
|
||||
//~^ ERROR `if`, `match`, `&&` and `||` are not stable in const fn
|
||||
//~^ ERROR loops and conditional expressions are not stable in const fn
|
||||
const fn foo30_5(b: bool) { while b { } } //~ ERROR not stable in const fn
|
||||
const fn foo30_6() -> bool { let x = true; x }
|
||||
const fn foo36(a: bool, b: bool) -> bool { a && b }
|
||||
//~^ ERROR `if`, `match`, `&&` and `||` are not stable in const fn
|
||||
//~^ ERROR loops and conditional expressions are not stable in const fn
|
||||
const fn foo37(a: bool, b: bool) -> bool { a || b }
|
||||
//~^ ERROR `if`, `match`, `&&` and `||` are not stable in const fn
|
||||
//~^ ERROR loops and conditional expressions are not stable in const fn
|
||||
const fn inc(x: &mut i32) { *x += 1 }
|
||||
//~^ ERROR mutable references in const fn are unstable
|
||||
|
||||
|
|
|
@ -160,7 +160,7 @@ LL | const fn foo30_2_with_unsafe(x: *mut u32) -> usize { unsafe { x as usize }
|
|||
= note: for more information, see issue https://github.com/rust-lang/rust/issues/57563
|
||||
= help: add #![feature(const_fn)] to the crate attributes to enable
|
||||
|
||||
error[E0723]: `if`, `match`, `&&` and `||` are not stable in const fn
|
||||
error[E0723]: loops and conditional expressions are not stable in const fn
|
||||
--> $DIR/min_const_fn.rs:100:38
|
||||
|
|
||||
LL | const fn foo30_4(b: bool) -> usize { if b { 1 } else { 42 } }
|
||||
|
@ -169,7 +169,7 @@ LL | const fn foo30_4(b: bool) -> usize { if b { 1 } else { 42 } }
|
|||
= note: for more information, see issue https://github.com/rust-lang/rust/issues/57563
|
||||
= help: add #![feature(const_fn)] to the crate attributes to enable
|
||||
|
||||
error[E0723]: `if`, `match`, `&&` and `||` are not stable in const fn
|
||||
error[E0723]: loops and conditional expressions are not stable in const fn
|
||||
--> $DIR/min_const_fn.rs:102:29
|
||||
|
|
||||
LL | const fn foo30_5(b: bool) { while b { } }
|
||||
|
@ -178,7 +178,7 @@ LL | const fn foo30_5(b: bool) { while b { } }
|
|||
= note: for more information, see issue https://github.com/rust-lang/rust/issues/57563
|
||||
= help: add #![feature(const_fn)] to the crate attributes to enable
|
||||
|
||||
error[E0723]: `if`, `match`, `&&` and `||` are not stable in const fn
|
||||
error[E0723]: loops and conditional expressions are not stable in const fn
|
||||
--> $DIR/min_const_fn.rs:104:44
|
||||
|
|
||||
LL | const fn foo36(a: bool, b: bool) -> bool { a && b }
|
||||
|
@ -187,7 +187,7 @@ LL | const fn foo36(a: bool, b: bool) -> bool { a && b }
|
|||
= note: for more information, see issue https://github.com/rust-lang/rust/issues/57563
|
||||
= help: add #![feature(const_fn)] to the crate attributes to enable
|
||||
|
||||
error[E0723]: `if`, `match`, `&&` and `||` are not stable in const fn
|
||||
error[E0723]: loops and conditional expressions are not stable in const fn
|
||||
--> $DIR/min_const_fn.rs:106:44
|
||||
|
|
||||
LL | const fn foo37(a: bool, b: bool) -> bool { a || b }
|
||||
|
|
|
@ -15,7 +15,7 @@ impl Foo {
|
|||
use self::Foo::*;
|
||||
|
||||
match *self {
|
||||
Prob => 0x1, //~ ERROR `if`, `match`, `&&` and `||` are not stable in const fn
|
||||
Prob => 0x1, //~ ERROR loops and conditional expressions are not stable in const fn
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ error[E0019]: constant contains unimplemented expression type
|
|||
LL | x => 42,
|
||||
| ^
|
||||
|
||||
error[E0723]: `if`, `match`, `&&` and `||` are not stable in const fn
|
||||
error[E0723]: loops and conditional expressions are not stable in const fn
|
||||
--> $DIR/single_variant_match_ice.rs:18:13
|
||||
|
|
||||
LL | Prob => 0x1,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue