1use rustc_span::sym;
4
5use super::{Feature, to_nonzero};
6
7macro_rules! declare_features {
8 ($(
9 $(#[doc = $doc:tt])* (accepted, $feature:ident, $ver:expr, $issue:expr),
10 )+) => {
11 pub static ACCEPTED_LANG_FEATURES: &[Feature] = &[
13 $(Feature {
14 name: sym::$feature,
15 since: $ver,
16 issue: to_nonzero($issue),
17 }),+
18 ];
19 }
20}
21
22#[rustfmt::skip]
23pub static ACCEPTED_LANG_FEATURES: &[Feature] =
&[Feature {
name: sym::issue_5723_bootstrap,
since: "1.0.0",
issue: to_nonzero(None),
},
Feature {
name: sym::test_accepted_feature,
since: "1.0.0",
issue: to_nonzero(None),
},
Feature {
name: sym::aarch64_target_feature,
since: "1.61.0",
issue: to_nonzero(Some(44839)),
},
Feature {
name: sym::abi_efiapi,
since: "1.68.0",
issue: to_nonzero(Some(65815)),
},
Feature {
name: sym::abi_sysv64,
since: "1.24.0",
issue: to_nonzero(Some(36167)),
},
Feature {
name: sym::abi_thiscall,
since: "1.73.0",
issue: to_nonzero(None),
},
Feature {
name: sym::adx_target_feature,
since: "1.61.0",
issue: to_nonzero(Some(44839)),
},
Feature {
name: sym::arbitrary_enum_discriminant,
since: "1.66.0",
issue: to_nonzero(Some(60553)),
},
Feature {
name: sym::asm_cfg,
since: "1.93.0",
issue: to_nonzero(Some(140364)),
},
Feature {
name: sym::asm_const,
since: "1.82.0",
issue: to_nonzero(Some(93332)),
},
Feature {
name: sym::asm_goto,
since: "1.87.0",
issue: to_nonzero(Some(119364)),
},
Feature {
name: sym::asm_sym,
since: "1.66.0",
issue: to_nonzero(Some(93333)),
},
Feature {
name: sym::associated_consts,
since: "1.20.0",
issue: to_nonzero(Some(29646)),
},
Feature {
name: sym::associated_type_bounds,
since: "1.79.0",
issue: to_nonzero(Some(52662)),
},
Feature {
name: sym::associated_types,
since: "1.0.0",
issue: to_nonzero(None),
},
Feature {
name: sym::async_await,
since: "1.39.0",
issue: to_nonzero(Some(50547)),
},
Feature {
name: sym::async_closure,
since: "1.85.0",
issue: to_nonzero(Some(62290)),
},
Feature {
name: sym::async_fn_in_trait,
since: "1.75.0",
issue: to_nonzero(Some(91611)),
},
Feature {
name: sym::attr_literals,
since: "1.30.0",
issue: to_nonzero(Some(34981)),
},
Feature {
name: sym::augmented_assignments,
since: "1.8.0",
issue: to_nonzero(Some(28235)),
},
Feature {
name: sym::avx512_target_feature,
since: "1.89.0",
issue: to_nonzero(Some(44839)),
},
Feature {
name: sym::bind_by_move_pattern_guards,
since: "1.39.0",
issue: to_nonzero(Some(15287)),
},
Feature {
name: sym::bindings_after_at,
since: "1.56.0",
issue: to_nonzero(Some(65490)),
},
Feature {
name: sym::braced_empty_structs,
since: "1.8.0",
issue: to_nonzero(Some(29720)),
},
Feature {
name: sym::c_str_literals,
since: "1.77.0",
issue: to_nonzero(Some(105723)),
},
Feature {
name: sym::c_unwind,
since: "1.81.0",
issue: to_nonzero(Some(74990)),
},
Feature {
name: sym::cfg_attr_multi,
since: "1.33.0",
issue: to_nonzero(Some(54881)),
},
Feature {
name: sym::cfg_boolean_literals,
since: "1.88.0",
issue: to_nonzero(Some(131204)),
},
Feature {
name: sym::cfg_doctest,
since: "1.40.0",
issue: to_nonzero(Some(62210)),
},
Feature {
name: sym::cfg_panic,
since: "1.60.0",
issue: to_nonzero(Some(77443)),
},
Feature {
name: sym::cfg_target_abi,
since: "1.78.0",
issue: to_nonzero(Some(80970)),
},
Feature {
name: sym::cfg_target_feature,
since: "1.27.0",
issue: to_nonzero(Some(29717)),
},
Feature {
name: sym::cfg_target_vendor,
since: "1.33.0",
issue: to_nonzero(Some(29718)),
},
Feature {
name: sym::clone_closures,
since: "1.26.0",
issue: to_nonzero(Some(44490)),
},
Feature {
name: sym::closure_to_fn_coercion,
since: "1.19.0",
issue: to_nonzero(Some(39817)),
},
Feature {
name: sym::cmpxchg16b_target_feature,
since: "1.69.0",
issue: to_nonzero(Some(44839)),
},
Feature {
name: sym::collapse_debuginfo,
since: "1.79.0",
issue: to_nonzero(Some(100758)),
},
Feature {
name: sym::compile_error,
since: "1.20.0",
issue: to_nonzero(Some(40872)),
},
Feature {
name: sym::conservative_impl_trait,
since: "1.26.0",
issue: to_nonzero(Some(34511)),
},
Feature {
name: sym::const_constructor,
since: "1.40.0",
issue: to_nonzero(Some(61456)),
},
Feature {
name: sym::const_extern_fn,
since: "1.83.0",
issue: to_nonzero(Some(64926)),
},
Feature {
name: sym::const_fn_floating_point_arithmetic,
since: "1.82.0",
issue: to_nonzero(Some(57241)),
},
Feature {
name: sym::const_fn_fn_ptr_basics,
since: "1.61.0",
issue: to_nonzero(Some(57563)),
},
Feature {
name: sym::const_fn_trait_bound,
since: "1.61.0",
issue: to_nonzero(Some(93706)),
},
Feature {
name: sym::const_fn_transmute,
since: "1.56.0",
issue: to_nonzero(Some(53605)),
},
Feature {
name: sym::const_fn_union,
since: "1.56.0",
issue: to_nonzero(Some(51909)),
},
Feature {
name: sym::const_fn_unsize,
since: "1.54.0",
issue: to_nonzero(Some(64992)),
},
Feature {
name: sym::const_generics_defaults,
since: "1.59.0",
issue: to_nonzero(Some(44580)),
},
Feature {
name: sym::const_if_match,
since: "1.46.0",
issue: to_nonzero(Some(49146)),
},
Feature {
name: sym::const_impl_trait,
since: "1.61.0",
issue: to_nonzero(Some(77463)),
},
Feature {
name: sym::const_indexing,
since: "1.26.0",
issue: to_nonzero(Some(29947)),
},
Feature {
name: sym::const_let,
since: "1.33.0",
issue: to_nonzero(Some(48821)),
},
Feature {
name: sym::const_loop,
since: "1.46.0",
issue: to_nonzero(Some(52000)),
},
Feature {
name: sym::const_mut_refs,
since: "1.83.0",
issue: to_nonzero(Some(57349)),
},
Feature {
name: sym::const_panic,
since: "1.57.0",
issue: to_nonzero(Some(51999)),
},
Feature {
name: sym::const_raw_ptr_deref,
since: "1.58.0",
issue: to_nonzero(Some(51911)),
},
Feature {
name: sym::const_refs_to_cell,
since: "1.83.0",
issue: to_nonzero(Some(80384)),
},
Feature {
name: sym::const_refs_to_static,
since: "1.83.0",
issue: to_nonzero(Some(119618)),
},
Feature {
name: sym::copy_closures,
since: "1.26.0",
issue: to_nonzero(Some(44490)),
},
Feature {
name: sym::crate_in_paths,
since: "1.30.0",
issue: to_nonzero(Some(45477)),
},
Feature {
name: sym::custom_code_classes_in_docs,
since: "1.80.0",
issue: to_nonzero(Some(79483)),
},
Feature {
name: sym::debugger_visualizer,
since: "1.71.0",
issue: to_nonzero(Some(95939)),
},
Feature {
name: sym::default_alloc_error_handler,
since: "1.68.0",
issue: to_nonzero(Some(66741)),
},
Feature {
name: sym::default_type_params,
since: "1.0.0",
issue: to_nonzero(None),
},
Feature {
name: sym::deprecated,
since: "1.9.0",
issue: to_nonzero(Some(29935)),
},
Feature {
name: sym::derive_default_enum,
since: "1.62.0",
issue: to_nonzero(Some(86985)),
},
Feature {
name: sym::destructuring_assignment,
since: "1.59.0",
issue: to_nonzero(Some(71126)),
},
Feature {
name: sym::diagnostic_namespace,
since: "1.78.0",
issue: to_nonzero(Some(111996)),
},
Feature {
name: sym::do_not_recommend,
since: "1.85.0",
issue: to_nonzero(Some(51992)),
},
Feature {
name: sym::doc_alias,
since: "1.48.0",
issue: to_nonzero(Some(50146)),
},
Feature {
name: sym::dotdot_in_tuple_patterns,
since: "1.14.0",
issue: to_nonzero(Some(33627)),
},
Feature {
name: sym::dotdoteq_in_patterns,
since: "1.26.0",
issue: to_nonzero(Some(28237)),
},
Feature {
name: sym::drop_types_in_const,
since: "1.22.0",
issue: to_nonzero(Some(33156)),
},
Feature {
name: sym::dyn_trait,
since: "1.27.0",
issue: to_nonzero(Some(44662)),
},
Feature {
name: sym::exclusive_range_pattern,
since: "1.80.0",
issue: to_nonzero(Some(37854)),
},
Feature {
name: sym::exhaustive_integer_patterns,
since: "1.33.0",
issue: to_nonzero(Some(50907)),
},
Feature {
name: sym::explicit_generic_args_with_impl_trait,
since: "1.63.0",
issue: to_nonzero(Some(83701)),
},
Feature {
name: sym::expr_fragment_specifier_2024,
since: "1.83.0",
issue: to_nonzero(Some(123742)),
},
Feature {
name: sym::extended_key_value_attributes,
since: "1.54.0",
issue: to_nonzero(Some(78835)),
},
Feature {
name: sym::extended_varargs_abi_support,
since: "1.91.0",
issue: to_nonzero(Some(100189)),
},
Feature {
name: sym::extern_absolute_paths,
since: "1.30.0",
issue: to_nonzero(Some(44660)),
},
Feature {
name: sym::extern_crate_item_prelude,
since: "1.31.0",
issue: to_nonzero(Some(55599)),
},
Feature {
name: sym::extern_crate_self,
since: "1.34.0",
issue: to_nonzero(Some(56409)),
},
Feature {
name: sym::extern_prelude,
since: "1.30.0",
issue: to_nonzero(Some(44660)),
},
Feature {
name: sym::extern_system_varargs,
since: "1.93.0",
issue: to_nonzero(Some(136946)),
},
Feature {
name: sym::f16c_target_feature,
since: "1.68.0",
issue: to_nonzero(Some(44839)),
},
Feature {
name: sym::field_init_shorthand,
since: "1.17.0",
issue: to_nonzero(Some(37340)),
},
Feature {
name: sym::fn_must_use,
since: "1.27.0",
issue: to_nonzero(Some(43302)),
},
Feature {
name: sym::format_args_capture,
since: "1.58.0",
issue: to_nonzero(Some(67984)),
},
Feature {
name: sym::generic_arg_infer,
since: "1.89.0",
issue: to_nonzero(Some(85077)),
},
Feature {
name: sym::generic_associated_types,
since: "1.65.0",
issue: to_nonzero(Some(44265)),
},
Feature {
name: sym::generic_param_attrs,
since: "1.27.0",
issue: to_nonzero(Some(48848)),
},
Feature {
name: sym::global_allocator,
since: "1.28.0",
issue: to_nonzero(Some(27389)),
},
Feature {
name: sym::globs,
since: "1.0.0",
issue: to_nonzero(None),
},
Feature {
name: sym::half_open_range_patterns,
since: "1.66.0",
issue: to_nonzero(Some(67264)),
},
Feature {
name: sym::i128_type,
since: "1.26.0",
issue: to_nonzero(Some(35118)),
},
Feature {
name: sym::if_let,
since: "1.0.0",
issue: to_nonzero(None),
},
Feature {
name: sym::if_let_rescope,
since: "1.84.0",
issue: to_nonzero(Some(124085)),
},
Feature {
name: sym::if_while_or_patterns,
since: "1.33.0",
issue: to_nonzero(Some(48215)),
},
Feature {
name: sym::impl_header_lifetime_elision,
since: "1.31.0",
issue: to_nonzero(Some(15872)),
},
Feature {
name: sym::impl_trait_projections,
since: "1.74.0",
issue: to_nonzero(Some(103532)),
},
Feature {
name: sym::imported_main,
since: "1.79.0",
issue: to_nonzero(Some(28937)),
},
Feature {
name: sym::inclusive_range_syntax,
since: "1.26.0",
issue: to_nonzero(Some(28237)),
},
Feature {
name: sym::infer_outlives_requirements,
since: "1.30.0",
issue: to_nonzero(Some(44493)),
},
Feature {
name: sym::inline_const,
since: "1.79.0",
issue: to_nonzero(Some(76001)),
},
Feature {
name: sym::irrefutable_let_patterns,
since: "1.33.0",
issue: to_nonzero(Some(44495)),
},
Feature {
name: sym::isa_attribute,
since: "1.67.0",
issue: to_nonzero(Some(74727)),
},
Feature {
name: sym::item_like_imports,
since: "1.15.0",
issue: to_nonzero(Some(35120)),
},
Feature {
name: sym::keylocker_x86,
since: "1.89.0",
issue: to_nonzero(Some(134813)),
},
Feature {
name: sym::label_break_value,
since: "1.65.0",
issue: to_nonzero(Some(48594)),
},
Feature {
name: sym::let_chains,
since: "1.88.0",
issue: to_nonzero(Some(53667)),
},
Feature {
name: sym::let_else,
since: "1.65.0",
issue: to_nonzero(Some(87335)),
},
Feature {
name: sym::lint_reasons,
since: "1.81.0",
issue: to_nonzero(Some(54503)),
},
Feature {
name: sym::loop_break_value,
since: "1.19.0",
issue: to_nonzero(Some(37339)),
},
Feature {
name: sym::macro_at_most_once_rep,
since: "1.32.0",
issue: to_nonzero(Some(48075)),
},
Feature {
name: sym::macro_attributes_in_derive_output,
since: "1.57.0",
issue: to_nonzero(Some(81119)),
},
Feature {
name: sym::macro_lifetime_matcher,
since: "1.27.0",
issue: to_nonzero(Some(34303)),
},
Feature {
name: sym::macro_literal_matcher,
since: "1.32.0",
issue: to_nonzero(Some(35625)),
},
Feature {
name: sym::macro_rules,
since: "1.0.0",
issue: to_nonzero(None),
},
Feature {
name: sym::macro_vis_matcher,
since: "1.30.0",
issue: to_nonzero(Some(41022)),
},
Feature {
name: sym::macros_in_extern,
since: "1.40.0",
issue: to_nonzero(Some(49476)),
},
Feature {
name: sym::match_beginning_vert,
since: "1.25.0",
issue: to_nonzero(Some(44101)),
},
Feature {
name: sym::match_default_bindings,
since: "1.26.0",
issue: to_nonzero(Some(42640)),
},
Feature {
name: sym::member_constraints,
since: "1.54.0",
issue: to_nonzero(Some(61997)),
},
Feature {
name: sym::min_const_fn,
since: "1.31.0",
issue: to_nonzero(Some(53555)),
},
Feature {
name: sym::min_const_generics,
since: "1.51.0",
issue: to_nonzero(Some(74878)),
},
Feature {
name: sym::min_const_unsafe_fn,
since: "1.33.0",
issue: to_nonzero(Some(55607)),
},
Feature {
name: sym::min_exhaustive_patterns,
since: "1.82.0",
issue: to_nonzero(Some(119612)),
},
Feature {
name: sym::more_struct_aliases,
since: "1.16.0",
issue: to_nonzero(Some(37544)),
},
Feature {
name: sym::movbe_target_feature,
since: "1.70.0",
issue: to_nonzero(Some(44839)),
},
Feature {
name: sym::move_ref_pattern,
since: "1.49.0",
issue: to_nonzero(Some(68354)),
},
Feature {
name: sym::naked_functions,
since: "1.88.0",
issue: to_nonzero(Some(90957)),
},
Feature {
name: sym::native_link_modifiers,
since: "1.61.0",
issue: to_nonzero(Some(81490)),
},
Feature {
name: sym::native_link_modifiers_bundle,
since: "1.63.0",
issue: to_nonzero(Some(81490)),
},
Feature {
name: sym::native_link_modifiers_verbatim,
since: "1.67.0",
issue: to_nonzero(Some(81490)),
},
Feature {
name: sym::native_link_modifiers_whole_archive,
since: "1.61.0",
issue: to_nonzero(Some(81490)),
},
Feature {
name: sym::nll,
since: "1.63.0",
issue: to_nonzero(Some(43234)),
},
Feature {
name: sym::no_std,
since: "1.6.0",
issue: to_nonzero(None),
},
Feature {
name: sym::non_ascii_idents,
since: "1.53.0",
issue: to_nonzero(Some(55467)),
},
Feature {
name: sym::non_exhaustive,
since: "1.40.0",
issue: to_nonzero(Some(44109)),
},
Feature {
name: sym::non_modrs_mods,
since: "1.30.0",
issue: to_nonzero(Some(44660)),
},
Feature {
name: sym::offset_of_nested,
since: "1.82.0",
issue: to_nonzero(Some(120140)),
},
Feature {
name: sym::or_patterns,
since: "1.53.0",
issue: to_nonzero(Some(54883)),
},
Feature {
name: sym::packed_bundled_libs,
since: "1.74.0",
issue: to_nonzero(Some(108081)),
},
Feature {
name: sym::panic_handler,
since: "1.30.0",
issue: to_nonzero(Some(44489)),
},
Feature {
name: sym::param_attrs,
since: "1.39.0",
issue: to_nonzero(Some(60406)),
},
Feature {
name: sym::pattern_parentheses,
since: "1.31.0",
issue: to_nonzero(Some(51087)),
},
Feature {
name: sym::precise_capturing,
since: "1.82.0",
issue: to_nonzero(Some(123432)),
},
Feature {
name: sym::precise_capturing_in_traits,
since: "1.87.0",
issue: to_nonzero(Some(130044)),
},
Feature {
name: sym::proc_macro,
since: "1.29.0",
issue: to_nonzero(Some(38356)),
},
Feature {
name: sym::proc_macro_path_invoc,
since: "1.30.0",
issue: to_nonzero(Some(38356)),
},
Feature {
name: sym::pub_restricted,
since: "1.18.0",
issue: to_nonzero(Some(32409)),
},
Feature {
name: sym::question_mark,
since: "1.13.0",
issue: to_nonzero(Some(31436)),
},
Feature {
name: sym::raw_dylib,
since: "1.71.0",
issue: to_nonzero(Some(58713)),
},
Feature {
name: sym::raw_identifiers,
since: "1.30.0",
issue: to_nonzero(Some(48589)),
},
Feature {
name: sym::raw_ref_op,
since: "1.82.0",
issue: to_nonzero(Some(64490)),
},
Feature {
name: sym::re_rebalance_coherence,
since: "1.41.0",
issue: to_nonzero(Some(55437)),
},
Feature {
name: sym::relaxed_adts,
since: "1.19.0",
issue: to_nonzero(Some(35626)),
},
Feature {
name: sym::relaxed_struct_unsize,
since: "1.58.0",
issue: to_nonzero(Some(81793)),
},
Feature {
name: sym::repr128,
since: "1.89.0",
issue: to_nonzero(Some(56071)),
},
Feature {
name: sym::repr_align,
since: "1.25.0",
issue: to_nonzero(Some(33626)),
},
Feature {
name: sym::repr_align_enum,
since: "1.37.0",
issue: to_nonzero(Some(57996)),
},
Feature {
name: sym::repr_packed,
since: "1.33.0",
issue: to_nonzero(Some(33158)),
},
Feature {
name: sym::repr_transparent,
since: "1.28.0",
issue: to_nonzero(Some(43036)),
},
Feature {
name: sym::result_ffi_guarantees,
since: "1.84.0",
issue: to_nonzero(Some(110503)),
},
Feature {
name: sym::return_position_impl_trait_in_trait,
since: "1.75.0",
issue: to_nonzero(Some(91611)),
},
Feature {
name: sym::rvalue_static_promotion,
since: "1.21.0",
issue: to_nonzero(Some(38865)),
},
Feature {
name: sym::s390x_target_feature_vector,
since: "1.93.0",
issue: to_nonzero(Some(145649)),
},
Feature {
name: sym::self_in_typedefs,
since: "1.32.0",
issue: to_nonzero(Some(49303)),
},
Feature {
name: sym::self_struct_ctor,
since: "1.32.0",
issue: to_nonzero(Some(51994)),
},
Feature {
name: sym::sha512_sm_x86,
since: "1.89.0",
issue: to_nonzero(Some(126624)),
},
Feature {
name: sym::shorter_tail_lifetimes,
since: "1.84.0",
issue: to_nonzero(Some(123739)),
},
Feature {
name: sym::slice_patterns,
since: "1.42.0",
issue: to_nonzero(Some(62254)),
},
Feature {
name: sym::slicing_syntax,
since: "1.0.0",
issue: to_nonzero(None),
},
Feature {
name: sym::sse4a_target_feature,
since: "1.91.0",
issue: to_nonzero(Some(44839)),
},
Feature {
name: sym::static_in_const,
since: "1.17.0",
issue: to_nonzero(Some(35897)),
},
Feature {
name: sym::static_recursion,
since: "1.17.0",
issue: to_nonzero(Some(29719)),
},
Feature {
name: sym::struct_field_attributes,
since: "1.20.0",
issue: to_nonzero(Some(38814)),
},
Feature {
name: sym::struct_variant,
since: "1.0.0",
issue: to_nonzero(None),
},
Feature {
name: sym::target_feature,
since: "1.27.0",
issue: to_nonzero(None),
},
Feature {
name: sym::target_feature_11,
since: "1.86.0",
issue: to_nonzero(Some(69098)),
},
Feature {
name: sym::tbm_target_feature,
since: "1.91.0",
issue: to_nonzero(Some(44839)),
},
Feature {
name: sym::termination_trait,
since: "1.26.0",
issue: to_nonzero(Some(43301)),
},
Feature {
name: sym::termination_trait_test,
since: "1.27.0",
issue: to_nonzero(Some(48854)),
},
Feature {
name: sym::tool_attributes,
since: "1.30.0",
issue: to_nonzero(Some(44690)),
},
Feature {
name: sym::tool_lints,
since: "1.31.0",
issue: to_nonzero(Some(44690)),
},
Feature {
name: sym::track_caller,
since: "1.46.0",
issue: to_nonzero(Some(47809)),
},
Feature {
name: sym::trait_upcasting,
since: "1.86.0",
issue: to_nonzero(Some(65991)),
},
Feature {
name: sym::transparent_enums,
since: "1.42.0",
issue: to_nonzero(Some(60405)),
},
Feature {
name: sym::tuple_indexing,
since: "1.0.0",
issue: to_nonzero(None),
},
Feature {
name: sym::type_alias_enum_variants,
since: "1.37.0",
issue: to_nonzero(Some(49683)),
},
Feature {
name: sym::type_macros,
since: "1.13.0",
issue: to_nonzero(Some(27245)),
},
Feature {
name: sym::type_privacy_lints,
since: "1.79.0",
issue: to_nonzero(Some(48054)),
},
Feature {
name: sym::underscore_const_names,
since: "1.37.0",
issue: to_nonzero(Some(54912)),
},
Feature {
name: sym::underscore_imports,
since: "1.33.0",
issue: to_nonzero(Some(48216)),
},
Feature {
name: sym::underscore_lifetimes,
since: "1.26.0",
issue: to_nonzero(Some(44524)),
},
Feature {
name: sym::uniform_paths,
since: "1.32.0",
issue: to_nonzero(Some(53130)),
},
Feature {
name: sym::universal_impl_trait,
since: "1.26.0",
issue: to_nonzero(Some(34511)),
},
Feature {
name: sym::unrestricted_attribute_tokens,
since: "1.34.0",
issue: to_nonzero(Some(55208)),
},
Feature {
name: sym::unsafe_attributes,
since: "1.82.0",
issue: to_nonzero(Some(123757)),
},
Feature {
name: sym::unsafe_block_in_unsafe_fn,
since: "1.52.0",
issue: to_nonzero(Some(71668)),
},
Feature {
name: sym::unsafe_extern_blocks,
since: "1.82.0",
issue: to_nonzero(Some(123743)),
},
Feature {
name: sym::use_extern_macros,
since: "1.30.0",
issue: to_nonzero(Some(35896)),
},
Feature {
name: sym::use_nested_groups,
since: "1.25.0",
issue: to_nonzero(Some(44494)),
},
Feature {
name: sym::used,
since: "1.30.0",
issue: to_nonzero(Some(40289)),
},
Feature {
name: sym::while_let,
since: "1.0.0",
issue: to_nonzero(None),
},
Feature {
name: sym::windows_subsystem,
since: "1.18.0",
issue: to_nonzero(Some(37499)),
}];declare_features! (
24 (accepted, issue_5723_bootstrap, "1.0.0", None),
31 (accepted, test_accepted_feature, "1.0.0", None),
34 (accepted, aarch64_target_feature, "1.61.0", Some(44839)),
52 (accepted, abi_efiapi, "1.68.0", Some(65815)),
54 (accepted, abi_sysv64, "1.24.0", Some(36167)),
57 (accepted, abi_thiscall, "1.73.0", None),
59 (accepted, adx_target_feature, "1.61.0", Some(44839)),
61 (accepted, arbitrary_enum_discriminant, "1.66.0", Some(60553)),
63 (accepted, asm_cfg, "1.93.0", Some(140364)),
65 (accepted, asm_const, "1.82.0", Some(93332)),
67 (accepted, asm_goto, "1.87.0", Some(119364)),
69 (accepted, asm_sym, "1.66.0", Some(93333)),
71 (accepted, associated_consts, "1.20.0", Some(29646)),
73 (accepted, associated_type_bounds, "1.79.0", Some(52662)),
75 (accepted, associated_types, "1.0.0", None),
77 (accepted, async_await, "1.39.0", Some(50547)),
79 (accepted, async_closure, "1.85.0", Some(62290)),
81 (accepted, async_fn_in_trait, "1.75.0", Some(91611)),
83 (accepted, attr_literals, "1.30.0", Some(34981)),
85 (accepted, augmented_assignments, "1.8.0", Some(28235)),
87 (accepted, avx512_target_feature, "1.89.0", Some(44839)),
89 (accepted, bind_by_move_pattern_guards, "1.39.0", Some(15287)),
91 (accepted, bindings_after_at, "1.56.0", Some(65490)),
94 (accepted, braced_empty_structs, "1.8.0", Some(29720)),
96 (accepted, c_str_literals, "1.77.0", Some(105723)),
98 (accepted, c_unwind, "1.81.0", Some(74990)),
100 (accepted, cfg_attr_multi, "1.33.0", Some(54881)),
102 (accepted, cfg_boolean_literals, "1.88.0", Some(131204)),
104 (accepted, cfg_doctest, "1.40.0", Some(62210)),
106 (accepted, cfg_panic, "1.60.0", Some(77443)),
108 (accepted, cfg_target_abi, "1.78.0", Some(80970)),
110 (accepted, cfg_target_feature, "1.27.0", Some(29717)),
112 (accepted, cfg_target_vendor, "1.33.0", Some(29718)),
114 (accepted, clone_closures, "1.26.0", Some(44490)),
116 (accepted, closure_to_fn_coercion, "1.19.0", Some(39817)),
118 (accepted, cmpxchg16b_target_feature, "1.69.0", Some(44839)),
120 (accepted, collapse_debuginfo, "1.79.0", Some(100758)),
122 (accepted, compile_error, "1.20.0", Some(40872)),
124 (accepted, conservative_impl_trait, "1.26.0", Some(34511)),
126 (accepted, const_constructor, "1.40.0", Some(61456)),
128 (accepted, const_extern_fn, "1.83.0", Some(64926)),
130 (accepted, const_fn_floating_point_arithmetic, "1.82.0", Some(57241)),
132 (accepted, const_fn_fn_ptr_basics, "1.61.0", Some(57563)),
134 (accepted, const_fn_trait_bound, "1.61.0", Some(93706)),
136 (accepted, const_fn_transmute, "1.56.0", Some(53605)),
138 (accepted, const_fn_union, "1.56.0", Some(51909)),
140 (accepted, const_fn_unsize, "1.54.0", Some(64992)),
142 (accepted, const_generics_defaults, "1.59.0", Some(44580)),
144 (accepted, const_if_match, "1.46.0", Some(49146)),
146 (accepted, const_impl_trait, "1.61.0", Some(77463)),
148 (accepted, const_indexing, "1.26.0", Some(29947)),
150 (accepted, const_let, "1.33.0", Some(48821)),
154 (accepted, const_loop, "1.46.0", Some(52000)),
156 (accepted, const_mut_refs, "1.83.0", Some(57349)),
158 (accepted, const_panic, "1.57.0", Some(51999)),
160 (accepted, const_raw_ptr_deref, "1.58.0", Some(51911)),
162 (accepted, const_refs_to_cell, "1.83.0", Some(80384)),
164 (accepted, const_refs_to_static, "1.83.0", Some(119618)),
166 (accepted, copy_closures, "1.26.0", Some(44490)),
168 (accepted, crate_in_paths, "1.30.0", Some(45477)),
170 (accepted, custom_code_classes_in_docs, "1.80.0", Some(79483)),
172 (accepted, debugger_visualizer, "1.71.0", Some(95939)),
174 (accepted, default_alloc_error_handler, "1.68.0", Some(66741)),
176 (accepted, default_type_params, "1.0.0", None),
178 (accepted, deprecated, "1.9.0", Some(29935)),
180 (accepted, derive_default_enum, "1.62.0", Some(86985)),
182 (accepted, destructuring_assignment, "1.59.0", Some(71126)),
184 (accepted, diagnostic_namespace, "1.78.0", Some(111996)),
186 (accepted, do_not_recommend, "1.85.0", Some(51992)),
188 (accepted, doc_alias, "1.48.0", Some(50146)),
190 (accepted, dotdot_in_tuple_patterns, "1.14.0", Some(33627)),
192 (accepted, dotdoteq_in_patterns, "1.26.0", Some(28237)),
194 (accepted, drop_types_in_const, "1.22.0", Some(33156)),
196 (accepted, dyn_trait, "1.27.0", Some(44662)),
198 (accepted, exclusive_range_pattern, "1.80.0", Some(37854)),
200 (accepted, exhaustive_integer_patterns, "1.33.0", Some(50907)),
202 (accepted, explicit_generic_args_with_impl_trait, "1.63.0", Some(83701)),
204 (accepted, expr_fragment_specifier_2024, "1.83.0", Some(123742)),
206 (accepted, extended_key_value_attributes, "1.54.0", Some(78835)),
208 (accepted, extended_varargs_abi_support, "1.91.0", Some(100189)),
211 (accepted, extern_absolute_paths, "1.30.0", Some(44660)),
213 (accepted, extern_crate_item_prelude, "1.31.0", Some(55599)),
215 (accepted, extern_crate_self, "1.34.0", Some(56409)),
218 (accepted, extern_prelude, "1.30.0", Some(44660)),
220 (accepted, extern_system_varargs, "1.93.0", Some(136946)),
222 (accepted, f16c_target_feature, "1.68.0", Some(44839)),
224 (accepted, field_init_shorthand, "1.17.0", Some(37340)),
226 (accepted, fn_must_use, "1.27.0", Some(43302)),
228 (accepted, format_args_capture, "1.58.0", Some(67984)),
230 (accepted, generic_arg_infer, "1.89.0", Some(85077)),
232 (accepted, generic_associated_types, "1.65.0", Some(44265)),
234 (accepted, generic_param_attrs, "1.27.0", Some(48848)),
236 (accepted, global_allocator, "1.28.0", Some(27389)),
238 (accepted, globs, "1.0.0", None),
240 (accepted, half_open_range_patterns, "1.66.0", Some(67264)),
242 (accepted, i128_type, "1.26.0", Some(35118)),
244 (accepted, if_let, "1.0.0", None),
246 (accepted, if_let_rescope, "1.84.0", Some(124085)),
248 (accepted, if_while_or_patterns, "1.33.0", Some(48215)),
250 (accepted, impl_header_lifetime_elision, "1.31.0", Some(15872)),
254 (accepted, impl_trait_projections, "1.74.0", Some(103532)),
256 (accepted, imported_main, "1.79.0", Some(28937)),
258 (accepted, inclusive_range_syntax, "1.26.0", Some(28237)),
260 (accepted, infer_outlives_requirements, "1.30.0", Some(44493)),
262 (accepted, inline_const, "1.79.0", Some(76001)),
264 (accepted, irrefutable_let_patterns, "1.33.0", Some(44495)),
266 (accepted, isa_attribute, "1.67.0", Some(74727)),
268 (accepted, item_like_imports, "1.15.0", Some(35120)),
271 (accepted, keylocker_x86, "1.89.0", Some(134813)),
273 (accepted, label_break_value, "1.65.0", Some(48594)),
275 (accepted, let_chains, "1.88.0", Some(53667)),
277 (accepted, let_else, "1.65.0", Some(87335)),
279 (accepted, lint_reasons, "1.81.0", Some(54503)),
281 (accepted, loop_break_value, "1.19.0", Some(37339)),
283 (accepted, macro_at_most_once_rep, "1.32.0", Some(48075)),
285 (accepted, macro_attributes_in_derive_output, "1.57.0", Some(81119)),
287 (accepted, macro_lifetime_matcher, "1.27.0", Some(34303)),
289 (accepted, macro_literal_matcher, "1.32.0", Some(35625)),
291 (accepted, macro_rules, "1.0.0", None),
293 (accepted, macro_vis_matcher, "1.30.0", Some(41022)),
295 (accepted, macros_in_extern, "1.40.0", Some(49476)),
297 (accepted, match_beginning_vert, "1.25.0", Some(44101)),
299 (accepted, match_default_bindings, "1.26.0", Some(42640)),
301 (accepted, member_constraints, "1.54.0", Some(61997)),
303 (accepted, min_const_fn, "1.31.0", Some(53555)),
305 (accepted, min_const_generics, "1.51.0", Some(74878)),
307 (accepted, min_const_unsafe_fn, "1.33.0", Some(55607)),
309 (accepted, min_exhaustive_patterns, "1.82.0", Some(119612)),
311 (accepted, more_struct_aliases, "1.16.0", Some(37544)),
313 (accepted, movbe_target_feature, "1.70.0", Some(44839)),
315 (accepted, move_ref_pattern, "1.49.0", Some(68354)),
318 (accepted, naked_functions, "1.88.0", Some(90957)),
320 (accepted, native_link_modifiers, "1.61.0", Some(81490)),
322 (accepted, native_link_modifiers_bundle, "1.63.0", Some(81490)),
324 (accepted, native_link_modifiers_verbatim, "1.67.0", Some(81490)),
326 (accepted, native_link_modifiers_whole_archive, "1.61.0", Some(81490)),
328 (accepted, nll, "1.63.0", Some(43234)),
330 (accepted, no_std, "1.6.0", None),
332 (accepted, non_ascii_idents, "1.53.0", Some(55467)),
334 (accepted, non_exhaustive, "1.40.0", Some(44109)),
336 (accepted, non_modrs_mods, "1.30.0", Some(44660)),
338 (accepted, offset_of_nested, "1.82.0", Some(120140)),
340 (accepted, or_patterns, "1.53.0", Some(54883)),
342 (accepted, packed_bundled_libs, "1.74.0", Some(108081)),
344 (accepted, panic_handler, "1.30.0", Some(44489)),
347 (accepted, param_attrs, "1.39.0", Some(60406)),
349 (accepted, pattern_parentheses, "1.31.0", Some(51087)),
351 (accepted, precise_capturing, "1.82.0", Some(123432)),
353 (accepted, precise_capturing_in_traits, "1.87.0", Some(130044)),
355 (accepted, proc_macro, "1.29.0", Some(38356)),
357 (accepted, proc_macro_path_invoc, "1.30.0", Some(38356)),
359 (accepted, pub_restricted, "1.18.0", Some(32409)),
361 (accepted, question_mark, "1.13.0", Some(31436)),
363 (accepted, raw_dylib, "1.71.0", Some(58713)),
365 (accepted, raw_identifiers, "1.30.0", Some(48589)),
367 (accepted, raw_ref_op, "1.82.0", Some(64490)),
369 (accepted, re_rebalance_coherence, "1.41.0", Some(55437)),
372 (accepted, relaxed_adts, "1.19.0", Some(35626)),
374 (accepted, relaxed_struct_unsize, "1.58.0", Some(81793)),
376 (accepted, repr128, "1.89.0", Some(56071)),
378 (accepted, repr_align, "1.25.0", Some(33626)),
380 (accepted, repr_align_enum, "1.37.0", Some(57996)),
383 (accepted, repr_packed, "1.33.0", Some(33158)),
385 (accepted, repr_transparent, "1.28.0", Some(43036)),
387 (accepted, result_ffi_guarantees, "1.84.0", Some(110503)),
390 (accepted, return_position_impl_trait_in_trait, "1.75.0", Some(91611)),
392 (accepted, rvalue_static_promotion, "1.21.0", Some(38865)),
394 (accepted, s390x_target_feature_vector, "1.93.0", Some(145649)),
396 (accepted, self_in_typedefs, "1.32.0", Some(49303)),
398 (accepted, self_struct_ctor, "1.32.0", Some(51994)),
400 (accepted, sha512_sm_x86, "1.89.0", Some(126624)),
402 (accepted, shorter_tail_lifetimes, "1.84.0", Some(123739)),
404 (accepted, slice_patterns, "1.42.0", Some(62254)),
406 (accepted, slicing_syntax, "1.0.0", None),
408 (accepted, sse4a_target_feature, "1.91.0", Some(44839)),
410 (accepted, static_in_const, "1.17.0", Some(35897)),
412 (accepted, static_recursion, "1.17.0", Some(29719)),
414 (accepted, struct_field_attributes, "1.20.0", Some(38814)),
416 (accepted, struct_variant, "1.0.0", None),
418 (accepted, target_feature, "1.27.0", None),
420 (accepted, target_feature_11, "1.86.0", Some(69098)),
422 (accepted, tbm_target_feature, "1.91.0", Some(44839)),
424 (accepted, termination_trait, "1.26.0", Some(43301)),
426 (accepted, termination_trait_test, "1.27.0", Some(48854)),
428 (accepted, tool_attributes, "1.30.0", Some(44690)),
430 (accepted, tool_lints, "1.31.0", Some(44690)),
432 (accepted, track_caller, "1.46.0", Some(47809)),
435 (accepted, trait_upcasting, "1.86.0", Some(65991)),
438 (accepted, transparent_enums, "1.42.0", Some(60405)),
440 (accepted, tuple_indexing, "1.0.0", None),
442 (accepted, type_alias_enum_variants, "1.37.0", Some(49683)),
444 (accepted, type_macros, "1.13.0", Some(27245)),
446 (accepted, type_privacy_lints, "1.79.0", Some(48054)),
448 (accepted, underscore_const_names, "1.37.0", Some(54912)),
450 (accepted, underscore_imports, "1.33.0", Some(48216)),
452 (accepted, underscore_lifetimes, "1.26.0", Some(44524)),
454 (accepted, uniform_paths, "1.32.0", Some(53130)),
456 (accepted, universal_impl_trait, "1.26.0", Some(34511)),
458 (accepted, unrestricted_attribute_tokens, "1.34.0", Some(55208)),
460 (accepted, unsafe_attributes, "1.82.0", Some(123757)),
462 (accepted, unsafe_block_in_unsafe_fn, "1.52.0", Some(71668)),
464 (accepted, unsafe_extern_blocks, "1.82.0", Some(123743)),
466 (accepted, use_extern_macros, "1.30.0", Some(35896)),
469 (accepted, use_nested_groups, "1.25.0", Some(44494)),
471 (accepted, used, "1.30.0", Some(40289)),
473 (accepted, while_let, "1.0.0", None),
475 (accepted, windows_subsystem, "1.18.0", Some(37499)),
477 );