diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2020-01-11 12:36:14 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-11 12:36:14 +0100 |
| commit | 50d76d647191bdff875e854ed2ee2282ab274a09 (patch) | |
| tree | 12e19976ffaa3e72ec450b2947d02b57a511a956 /src/libsyntax | |
| parent | f02f338ee064cf78e0b2234cbbfcaf43c451217d (diff) | |
| parent | fc30825c8b22d93419a087fcec1817108d9b694b (diff) | |
| download | rust-50d76d647191bdff875e854ed2ee2282ab274a09.tar.gz rust-50d76d647191bdff875e854ed2ee2282ab274a09.zip | |
Rollup merge of #68114 - ecstatic-morse:fix-feature-gating, r=Centril
Don't require `allow_internal_unstable` unless `staged_api` is enabled. #63770 changed `qualify_min_const_fn` to require `allow_internal_unstable` for *all* crates that used an unstable feature, regardless of whether `staged_api` was enabled or the `fn` that used that feature was stably const. In practice, this meant that every crate in the ecosystem that wanted to use nightly features added `#![feature(const_fn)]`, which skips `qualify_min_const_fn` entirely. After this PR, crates that do not have `#![feature(staged_api)]` will only need to enable the feature they are interested in. For example, `#![feature(const_if_match)]` will be enough to enable `if` and `match` in constants. Crates with `staged_api` (e.g., `libstd`) require `#[allow_internal_unstable]` to be added to a function if it uses nightly features unless that function is also marked `#[rustc_const_unstable]`. This prevents proliferation of `#[allow_internal_unstable]` into functions that are not callable in a `const` context on stable. r? @oli-obk (author of #63770) cc @Centril
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/lib.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libsyntax/lib.rs b/src/libsyntax/lib.rs index a96fee0cf8f..0184a3214b5 100644 --- a/src/libsyntax/lib.rs +++ b/src/libsyntax/lib.rs @@ -7,7 +7,7 @@ #![doc(html_root_url = "https://doc.rust-lang.org/nightly/", test(attr(deny(warnings))))] #![feature(bool_to_option)] #![feature(box_syntax)] -#![feature(const_fn)] +#![feature(const_fn)] // For the `transmute` in `P::new` #![feature(const_transmute)] #![feature(crate_visibility_modifier)] #![feature(label_break_value)] |
