rust/compiler
Guillaume Gomez 54d6bded30
Rollup merge of #118802 - ehuss:remove-edition-preview, r=TaKO8Ki
Remove edition umbrella features.

In the 2018 edition, there was an "umbrella" feature `#[feature(rust_2018_preview)]` which was used to enable several other features at once. This umbrella mechanism was not used in the 2021 edition and likely will not be used in 2024 either. During 2018 users reported that setting the feature was awkward, especially since they already needed to opt-in via the edition mechanism.

This PR removes this mechanism because I believe it will not be used (and will clean up and simplify the code). I believe that there are better ways to handle features and editions. In short:

- For highly experimental features, that may or may not be involved in an edition, they can implement regular feature gates like `tcx.features().my_feature`.
- For experimental features that *might* be involved in an edition, they should implement gates with `tcx.features().my_feature && span.at_least_rust_20xx()`. This requires the user to still specify `#![feature(my_feature)]`, to avoid disrupting testing of other edition features which are ready and have been accepted within the edition.
- For experimental features that have graduated to definitely be part of an edition, they should implement gates with `tcx.features().my_feature || span.at_least_rust_20xx()`, or just remove the feature check altogether and just check `span.at_least_rust_20xx()`.
- For relatively simple changes, they can skip the whole feature gating thing and just check `span.at_least_rust_20xx()`, and rely on the instability of the edition itself (which requires `-Zunstable-options`) to gate it.

I am working on documenting all of this in the rustc-dev-guide.
2023-12-11 11:40:36 +01:00
..
rustc Clean up rustc_*/Cargo.toml. 2023-10-30 08:46:02 +11:00
rustc_abi Rename LayoutCalculator::delay_bug as LayoutCalculator::delayed_bug. 2023-12-02 09:01:34 +11:00
rustc_arena rustc_arena: add alloc_str 2023-12-05 17:52:51 -08:00
rustc_ast Add spacing information to delimiters. 2023-12-11 09:36:40 +11:00
rustc_ast_lowering Auto merge of #116952 - compiler-errors:lifetime_capture_rules_2024, r=TaKO8Ki 2023-12-10 15:51:39 +00:00
rustc_ast_passes remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_ast_pretty Add spacing information to delimiters. 2023-12-11 09:36:40 +11:00
rustc_attr Use Session::diagnostic in more places. 2023-12-02 09:01:35 +11:00
rustc_baked_icu_data Bump cfg(bootstrap)s 2023-11-15 19:41:28 -05:00
rustc_borrowck remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_builtin_macros Auto merge of #114571 - nnethercote:improve-print_tts, r=petrochenkov 2023-12-11 00:03:56 +00:00
rustc_codegen_cranelift remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_codegen_gcc Auto merge of #117873 - quininer:android-emutls, r=Amanieu 2023-12-09 05:32:35 +00:00
rustc_codegen_llvm Auto merge of #117116 - calebzulawski:repr-simd-packed, r=workingjubilee 2023-12-11 08:07:20 +00:00
rustc_codegen_ssa Auto merge of #118791 - saethlin:use-immediate-type, r=nikic 2023-12-10 17:50:15 +00:00
rustc_const_eval Auto merge of #118032 - RalfJung:char-u32, r=Mark-Simulacrum 2023-12-11 04:13:19 +00:00
rustc_data_structures remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_driver Bump cfg(bootstrap)s 2023-11-15 19:41:28 -05:00
rustc_driver_impl rustc_driver_impl: Address all rustc::potential_query_instability lints 2023-12-05 06:19:14 +01:00
rustc_error_codes Remove edition umbrella features. 2023-12-10 13:03:28 -08:00
rustc_error_messages Remove rustc_error_messages/messages.ftl. 2023-11-26 08:37:27 +11:00
rustc_errors remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_expand Rollup merge of #118802 - ehuss:remove-edition-preview, r=TaKO8Ki 2023-12-11 11:40:36 +01:00
rustc_feature Remove edition umbrella features. 2023-12-10 13:03:28 -08:00
rustc_fluent_macro Add a useful comment. 2023-11-26 08:38:02 +11:00
rustc_fs_util Clean up rustc_*/Cargo.toml. 2023-10-30 08:46:02 +11:00
rustc_graphviz remove unused pub fn 2023-11-23 14:11:02 +03:00
rustc_hir Auto merge of #118420 - compiler-errors:async-gen, r=eholk 2023-12-08 19:13:57 +00:00
rustc_hir_analysis remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_hir_pretty remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_hir_typeck Auto merge of #118692 - surechen:remove_unused_imports, r=petrochenkov 2023-12-10 11:55:48 +00:00
rustc_incremental remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_index Replace no_ord_impl with orderable. 2023-11-22 18:38:17 +11:00
rustc_index_macros Put backticks around some attributes in doc comments. 2023-11-27 09:37:01 +11:00
rustc_infer Auto merge of #118692 - surechen:remove_unused_imports, r=petrochenkov 2023-12-10 11:55:48 +00:00
rustc_interface remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_lexer Tweak Mode. 2023-12-09 09:30:32 +11:00
rustc_lint Add spacing information to delimiters. 2023-12-11 09:36:40 +11:00
rustc_lint_defs Auto merge of #118324 - RalfJung:ctfe-read-only-pointers, r=saethlin 2023-12-07 18:11:01 +00:00
rustc_llvm Auto merge of #117873 - quininer:android-emutls, r=Amanieu 2023-12-09 05:32:35 +00:00
rustc_log rustc_log: provide a way to init logging based on the values, not names, of the env vars 2023-11-11 15:24:33 +01:00
rustc_macros remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_metadata remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_middle Auto merge of #118692 - surechen:remove_unused_imports, r=petrochenkov 2023-12-10 11:55:48 +00:00
rustc_mir_build Auto merge of #118692 - surechen:remove_unused_imports, r=petrochenkov 2023-12-10 11:55:48 +00:00
rustc_mir_dataflow remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_mir_transform remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_monomorphize Rollup merge of #118693 - saethlin:alignment-check-symbol-reachable, r=bjorn3 2023-12-08 06:44:42 +01:00
rustc_next_trait_solver Make it not depend on nightly conditionally 2023-12-08 17:44:01 +00:00
rustc_parse Add spacing information to delimiters. 2023-12-11 09:36:40 +11:00
rustc_parse_format Auto merge of #117819 - fmease:rustc_parse_format-stable-rustc, r=Nilstrieb 2023-11-15 14:55:35 +00:00
rustc_passes Remove #[rustc_host], use internal desugaring 2023-12-05 01:15:21 +00:00
rustc_privacy privacy: visit trait def id of projections 2023-12-08 14:26:03 +00:00
rustc_query_impl QueryContext: rename try_collect_active_jobs -> collect_active_jobs and change it's return type from Option<QueryMap> to QueryMap 2023-11-27 18:13:15 +03:00
rustc_query_system remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_resolve Introduce closure_id method on CoroutineKind 2023-12-08 21:46:39 +00:00
rustc_serialize Call FileEncoder::finish in rmeta encoding 2023-11-22 22:49:22 -05:00
rustc_session Auto merge of #118494 - nnethercote:default_configuration-fill_well_known, r=Mark-Simulacrum 2023-12-11 06:10:44 +00:00
rustc_smir remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_span Remove edition umbrella features. 2023-12-10 13:03:28 -08:00
rustc_symbol_mangling Don't print host effect param in pretty path_generic_args 2023-12-09 17:42:33 +00:00
rustc_target Auto merge of #118150 - roblabla:new-win7-targets, r=davidtwco 2023-12-09 08:41:50 +00:00
rustc_trait_selection remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_traits add unused NormalizesTo predicate 2023-12-07 17:52:51 +01:00
rustc_transmute Update itertools to 0.11. 2023-11-22 08:13:21 +11:00
rustc_ty_utils Auto merge of #117116 - calebzulawski:repr-simd-packed, r=workingjubilee 2023-12-11 08:07:20 +00:00
rustc_type_ir Feedback 2023-12-08 17:44:01 +00:00
stable_mir remove redundant imports 2023-12-10 10:56:22 +08:00