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::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_select,
since: "1.95.0",
issue: to_nonzero(Some(115585)),
},
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_guard,
since: "1.95.0",
issue: to_nonzero(Some(51114)),
},
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, test_accepted_feature, "1.0.0", None),
31 (accepted, aarch64_target_feature, "1.61.0", Some(44839)),
49 (accepted, abi_efiapi, "1.68.0", Some(65815)),
51 (accepted, abi_sysv64, "1.24.0", Some(36167)),
54 (accepted, abi_thiscall, "1.73.0", None),
56 (accepted, adx_target_feature, "1.61.0", Some(44839)),
58 (accepted, arbitrary_enum_discriminant, "1.66.0", Some(60553)),
60 (accepted, asm_cfg, "1.93.0", Some(140364)),
62 (accepted, asm_const, "1.82.0", Some(93332)),
64 (accepted, asm_goto, "1.87.0", Some(119364)),
66 (accepted, asm_sym, "1.66.0", Some(93333)),
68 (accepted, associated_consts, "1.20.0", Some(29646)),
70 (accepted, associated_type_bounds, "1.79.0", Some(52662)),
72 (accepted, associated_types, "1.0.0", None),
74 (accepted, async_await, "1.39.0", Some(50547)),
76 (accepted, async_closure, "1.85.0", Some(62290)),
78 (accepted, async_fn_in_trait, "1.75.0", Some(91611)),
80 (accepted, attr_literals, "1.30.0", Some(34981)),
82 (accepted, augmented_assignments, "1.8.0", Some(28235)),
84 (accepted, avx512_target_feature, "1.89.0", Some(44839)),
86 (accepted, bind_by_move_pattern_guards, "1.39.0", Some(15287)),
88 (accepted, bindings_after_at, "1.56.0", Some(65490)),
91 (accepted, braced_empty_structs, "1.8.0", Some(29720)),
93 (accepted, c_str_literals, "1.77.0", Some(105723)),
95 (accepted, c_unwind, "1.81.0", Some(74990)),
97 (accepted, cfg_attr_multi, "1.33.0", Some(54881)),
99 (accepted, cfg_boolean_literals, "1.88.0", Some(131204)),
101 (accepted, cfg_doctest, "1.40.0", Some(62210)),
103 (accepted, cfg_panic, "1.60.0", Some(77443)),
105 (accepted, cfg_select, "1.95.0", Some(115585)),
107 (accepted, cfg_target_abi, "1.78.0", Some(80970)),
109 (accepted, cfg_target_feature, "1.27.0", Some(29717)),
111 (accepted, cfg_target_vendor, "1.33.0", Some(29718)),
113 (accepted, clone_closures, "1.26.0", Some(44490)),
115 (accepted, closure_to_fn_coercion, "1.19.0", Some(39817)),
117 (accepted, cmpxchg16b_target_feature, "1.69.0", Some(44839)),
119 (accepted, collapse_debuginfo, "1.79.0", Some(100758)),
121 (accepted, compile_error, "1.20.0", Some(40872)),
123 (accepted, conservative_impl_trait, "1.26.0", Some(34511)),
125 (accepted, const_constructor, "1.40.0", Some(61456)),
127 (accepted, const_extern_fn, "1.83.0", Some(64926)),
129 (accepted, const_fn_floating_point_arithmetic, "1.82.0", Some(57241)),
131 (accepted, const_fn_fn_ptr_basics, "1.61.0", Some(57563)),
133 (accepted, const_fn_trait_bound, "1.61.0", Some(93706)),
135 (accepted, const_fn_transmute, "1.56.0", Some(53605)),
137 (accepted, const_fn_union, "1.56.0", Some(51909)),
139 (accepted, const_fn_unsize, "1.54.0", Some(64992)),
141 (accepted, const_generics_defaults, "1.59.0", Some(44580)),
143 (accepted, const_if_match, "1.46.0", Some(49146)),
145 (accepted, const_impl_trait, "1.61.0", Some(77463)),
147 (accepted, const_indexing, "1.26.0", Some(29947)),
149 (accepted, const_let, "1.33.0", Some(48821)),
153 (accepted, const_loop, "1.46.0", Some(52000)),
155 (accepted, const_mut_refs, "1.83.0", Some(57349)),
157 (accepted, const_panic, "1.57.0", Some(51999)),
159 (accepted, const_raw_ptr_deref, "1.58.0", Some(51911)),
161 (accepted, const_refs_to_cell, "1.83.0", Some(80384)),
163 (accepted, const_refs_to_static, "1.83.0", Some(119618)),
165 (accepted, copy_closures, "1.26.0", Some(44490)),
167 (accepted, crate_in_paths, "1.30.0", Some(45477)),
169 (accepted, custom_code_classes_in_docs, "1.80.0", Some(79483)),
171 (accepted, debugger_visualizer, "1.71.0", Some(95939)),
173 (accepted, default_alloc_error_handler, "1.68.0", Some(66741)),
175 (accepted, default_type_params, "1.0.0", None),
177 (accepted, deprecated, "1.9.0", Some(29935)),
179 (accepted, derive_default_enum, "1.62.0", Some(86985)),
181 (accepted, destructuring_assignment, "1.59.0", Some(71126)),
183 (accepted, diagnostic_namespace, "1.78.0", Some(111996)),
185 (accepted, do_not_recommend, "1.85.0", Some(51992)),
187 (accepted, doc_alias, "1.48.0", Some(50146)),
189 (accepted, dotdot_in_tuple_patterns, "1.14.0", Some(33627)),
191 (accepted, dotdoteq_in_patterns, "1.26.0", Some(28237)),
193 (accepted, drop_types_in_const, "1.22.0", Some(33156)),
195 (accepted, dyn_trait, "1.27.0", Some(44662)),
197 (accepted, exclusive_range_pattern, "1.80.0", Some(37854)),
199 (accepted, exhaustive_integer_patterns, "1.33.0", Some(50907)),
201 (accepted, explicit_generic_args_with_impl_trait, "1.63.0", Some(83701)),
203 (accepted, expr_fragment_specifier_2024, "1.83.0", Some(123742)),
205 (accepted, extended_key_value_attributes, "1.54.0", Some(78835)),
207 (accepted, extended_varargs_abi_support, "1.91.0", Some(100189)),
210 (accepted, extern_absolute_paths, "1.30.0", Some(44660)),
212 (accepted, extern_crate_item_prelude, "1.31.0", Some(55599)),
214 (accepted, extern_crate_self, "1.34.0", Some(56409)),
217 (accepted, extern_prelude, "1.30.0", Some(44660)),
219 (accepted, extern_system_varargs, "1.93.0", Some(136946)),
221 (accepted, f16c_target_feature, "1.68.0", Some(44839)),
223 (accepted, field_init_shorthand, "1.17.0", Some(37340)),
225 (accepted, fn_must_use, "1.27.0", Some(43302)),
227 (accepted, format_args_capture, "1.58.0", Some(67984)),
229 (accepted, generic_arg_infer, "1.89.0", Some(85077)),
231 (accepted, generic_associated_types, "1.65.0", Some(44265)),
233 (accepted, generic_param_attrs, "1.27.0", Some(48848)),
235 (accepted, global_allocator, "1.28.0", Some(27389)),
237 (accepted, globs, "1.0.0", None),
239 (accepted, half_open_range_patterns, "1.66.0", Some(67264)),
241 (accepted, i128_type, "1.26.0", Some(35118)),
243 (accepted, if_let, "1.0.0", None),
245 (accepted, if_let_guard, "1.95.0", Some(51114)),
247 (accepted, if_let_rescope, "1.84.0", Some(124085)),
249 (accepted, if_while_or_patterns, "1.33.0", Some(48215)),
251 (accepted, impl_header_lifetime_elision, "1.31.0", Some(15872)),
255 (accepted, impl_trait_projections, "1.74.0", Some(103532)),
257 (accepted, imported_main, "1.79.0", Some(28937)),
259 (accepted, inclusive_range_syntax, "1.26.0", Some(28237)),
261 (accepted, infer_outlives_requirements, "1.30.0", Some(44493)),
263 (accepted, inline_const, "1.79.0", Some(76001)),
265 (accepted, irrefutable_let_patterns, "1.33.0", Some(44495)),
267 (accepted, isa_attribute, "1.67.0", Some(74727)),
269 (accepted, item_like_imports, "1.15.0", Some(35120)),
272 (accepted, keylocker_x86, "1.89.0", Some(134813)),
274 (accepted, label_break_value, "1.65.0", Some(48594)),
276 (accepted, let_chains, "1.88.0", Some(53667)),
278 (accepted, let_else, "1.65.0", Some(87335)),
280 (accepted, lint_reasons, "1.81.0", Some(54503)),
282 (accepted, loop_break_value, "1.19.0", Some(37339)),
284 (accepted, macro_at_most_once_rep, "1.32.0", Some(48075)),
286 (accepted, macro_attributes_in_derive_output, "1.57.0", Some(81119)),
288 (accepted, macro_lifetime_matcher, "1.27.0", Some(34303)),
290 (accepted, macro_literal_matcher, "1.32.0", Some(35625)),
292 (accepted, macro_rules, "1.0.0", None),
294 (accepted, macro_vis_matcher, "1.30.0", Some(41022)),
296 (accepted, macros_in_extern, "1.40.0", Some(49476)),
298 (accepted, match_beginning_vert, "1.25.0", Some(44101)),
300 (accepted, match_default_bindings, "1.26.0", Some(42640)),
302 (accepted, member_constraints, "1.54.0", Some(61997)),
304 (accepted, min_const_fn, "1.31.0", Some(53555)),
306 (accepted, min_const_generics, "1.51.0", Some(74878)),
308 (accepted, min_const_unsafe_fn, "1.33.0", Some(55607)),
310 (accepted, min_exhaustive_patterns, "1.82.0", Some(119612)),
312 (accepted, more_struct_aliases, "1.16.0", Some(37544)),
314 (accepted, movbe_target_feature, "1.70.0", Some(44839)),
316 (accepted, move_ref_pattern, "1.49.0", Some(68354)),
319 (accepted, naked_functions, "1.88.0", Some(90957)),
321 (accepted, native_link_modifiers, "1.61.0", Some(81490)),
323 (accepted, native_link_modifiers_bundle, "1.63.0", Some(81490)),
325 (accepted, native_link_modifiers_verbatim, "1.67.0", Some(81490)),
327 (accepted, native_link_modifiers_whole_archive, "1.61.0", Some(81490)),
329 (accepted, nll, "1.63.0", Some(43234)),
331 (accepted, no_std, "1.6.0", None),
333 (accepted, non_ascii_idents, "1.53.0", Some(55467)),
335 (accepted, non_exhaustive, "1.40.0", Some(44109)),
337 (accepted, non_modrs_mods, "1.30.0", Some(44660)),
339 (accepted, offset_of_nested, "1.82.0", Some(120140)),
341 (accepted, or_patterns, "1.53.0", Some(54883)),
343 (accepted, packed_bundled_libs, "1.74.0", Some(108081)),
345 (accepted, panic_handler, "1.30.0", Some(44489)),
348 (accepted, param_attrs, "1.39.0", Some(60406)),
350 (accepted, pattern_parentheses, "1.31.0", Some(51087)),
352 (accepted, precise_capturing, "1.82.0", Some(123432)),
354 (accepted, precise_capturing_in_traits, "1.87.0", Some(130044)),
356 (accepted, proc_macro, "1.29.0", Some(38356)),
358 (accepted, proc_macro_path_invoc, "1.30.0", Some(38356)),
360 (accepted, pub_restricted, "1.18.0", Some(32409)),
362 (accepted, question_mark, "1.13.0", Some(31436)),
364 (accepted, raw_dylib, "1.71.0", Some(58713)),
366 (accepted, raw_identifiers, "1.30.0", Some(48589)),
368 (accepted, raw_ref_op, "1.82.0", Some(64490)),
370 (accepted, re_rebalance_coherence, "1.41.0", Some(55437)),
373 (accepted, relaxed_adts, "1.19.0", Some(35626)),
375 (accepted, relaxed_struct_unsize, "1.58.0", Some(81793)),
377 (accepted, repr128, "1.89.0", Some(56071)),
379 (accepted, repr_align, "1.25.0", Some(33626)),
381 (accepted, repr_align_enum, "1.37.0", Some(57996)),
384 (accepted, repr_packed, "1.33.0", Some(33158)),
386 (accepted, repr_transparent, "1.28.0", Some(43036)),
388 (accepted, result_ffi_guarantees, "1.84.0", Some(110503)),
391 (accepted, return_position_impl_trait_in_trait, "1.75.0", Some(91611)),
393 (accepted, rvalue_static_promotion, "1.21.0", Some(38865)),
395 (accepted, s390x_target_feature_vector, "1.93.0", Some(145649)),
397 (accepted, self_in_typedefs, "1.32.0", Some(49303)),
399 (accepted, self_struct_ctor, "1.32.0", Some(51994)),
401 (accepted, sha512_sm_x86, "1.89.0", Some(126624)),
403 (accepted, shorter_tail_lifetimes, "1.84.0", Some(123739)),
405 (accepted, slice_patterns, "1.42.0", Some(62254)),
407 (accepted, slicing_syntax, "1.0.0", None),
409 (accepted, sse4a_target_feature, "1.91.0", Some(44839)),
411 (accepted, static_in_const, "1.17.0", Some(35897)),
413 (accepted, static_recursion, "1.17.0", Some(29719)),
415 (accepted, struct_field_attributes, "1.20.0", Some(38814)),
417 (accepted, struct_variant, "1.0.0", None),
419 (accepted, target_feature, "1.27.0", None),
421 (accepted, target_feature_11, "1.86.0", Some(69098)),
423 (accepted, tbm_target_feature, "1.91.0", Some(44839)),
425 (accepted, termination_trait, "1.26.0", Some(43301)),
427 (accepted, termination_trait_test, "1.27.0", Some(48854)),
429 (accepted, tool_attributes, "1.30.0", Some(44690)),
431 (accepted, tool_lints, "1.31.0", Some(44690)),
433 (accepted, track_caller, "1.46.0", Some(47809)),
436 (accepted, trait_upcasting, "1.86.0", Some(65991)),
439 (accepted, transparent_enums, "1.42.0", Some(60405)),
441 (accepted, tuple_indexing, "1.0.0", None),
443 (accepted, type_alias_enum_variants, "1.37.0", Some(49683)),
445 (accepted, type_macros, "1.13.0", Some(27245)),
447 (accepted, type_privacy_lints, "1.79.0", Some(48054)),
449 (accepted, underscore_const_names, "1.37.0", Some(54912)),
451 (accepted, underscore_imports, "1.33.0", Some(48216)),
453 (accepted, underscore_lifetimes, "1.26.0", Some(44524)),
455 (accepted, uniform_paths, "1.32.0", Some(53130)),
457 (accepted, universal_impl_trait, "1.26.0", Some(34511)),
459 (accepted, unrestricted_attribute_tokens, "1.34.0", Some(55208)),
461 (accepted, unsafe_attributes, "1.82.0", Some(123757)),
463 (accepted, unsafe_block_in_unsafe_fn, "1.52.0", Some(71668)),
465 (accepted, unsafe_extern_blocks, "1.82.0", Some(123743)),
467 (accepted, use_extern_macros, "1.30.0", Some(35896)),
470 (accepted, use_nested_groups, "1.25.0", Some(44494)),
472 (accepted, used, "1.30.0", Some(40289)),
474 (accepted, while_let, "1.0.0", None),
476 (accepted, windows_subsystem, "1.18.0", Some(37499)),
478 );