1
Fork 0

Auto merge of #84310 - RalfJung:const-fn-feature-flags, r=oli-obk

further split up const_fn feature flag

This continues the work on splitting up `const_fn` into separate feature flags:
* `const_fn_trait_bound` for `const fn` with trait bounds
* `const_fn_unsize` for unsizing coercions in `const fn` (looks like only `dyn` unsizing is still guarded here)

I don't know if there are even any things left that `const_fn` guards... at least libcore and liballoc do not need it any more.

`@oli-obk` are you currently able to do reviews?
This commit is contained in:
bors 2021-04-24 23:16:03 +00:00
commit b56b175c6c
37 changed files with 176 additions and 114 deletions

View file

@ -416,7 +416,6 @@ E0716: include_str!("./error_codes/E0716.md"),
E0718: include_str!("./error_codes/E0718.md"),
E0719: include_str!("./error_codes/E0719.md"),
E0720: include_str!("./error_codes/E0720.md"),
E0723: include_str!("./error_codes/E0723.md"),
E0724: include_str!("./error_codes/E0724.md"),
E0725: include_str!("./error_codes/E0725.md"),
E0727: include_str!("./error_codes/E0727.md"),
@ -636,6 +635,7 @@ E0781: include_str!("./error_codes/E0781.md"),
E0717, // rustc_promotable without stability attribute
// E0721, // `await` keyword
E0722, // Malformed `#[optimize]` attribute
// E0723, unstable feature in `const` context
E0726, // non-explicit (not `'_`) elided lifetime in unsupported position
// E0738, // Removed; errored on `#[track_caller] fn`s in `extern "Rust" { ... }`.
E0757, // `#[ffi_const]` functions cannot be `#[ffi_pure]`

View file

@ -1,20 +0,0 @@
An unstable feature in `const` contexts was used.
Erroneous code example:
```compile_fail,E0723
const fn foo<T: Copy>(_: T) { // error!
// ...
}
```
To enable this feature on a nightly version of rustc, add the `const_fn`
feature flag:
```
#![feature(const_fn)]
const fn foo<T: Copy>(_: T) { // ok!
// ...
}
```