Skip to content

Commit 360aa6a

Browse files
authored
Unrolled build for #150264
Rollup merge of #150264 - RalfJung:target-feature-tracking-split, r=Amanieu split up tracking issue for target feature feature gates #44839 is tracking too many things at once. We usually have a separate tracking issue for each feature gate, so let's do that here as well: - #150244 - #150245 - #150246 - #150247 - #150248 - #150249 - #150250 - #150251 - #150252 - #150253 - #150254 - #150255 - #150256 - #150257 - #150258 - #150259 - #150260 - #150261 Closes #44839 in favor of the ones listed above. r? `@Amanieu`
2 parents 4c62aa4 + a8e5693 commit 360aa6a

File tree

3 files changed

+57
-50
lines changed

3 files changed

+57
-50
lines changed

‎compiler/rustc_feature/src/unstable.rs‎

Lines changed: 44 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -319,47 +319,14 @@ declare_features! (
319319
// feature-group-end: internal feature gates
320320
// -------------------------------------------------------------------------
321321

322-
// -------------------------------------------------------------------------
323-
// feature-group-start: actual feature gates (target features)
324-
// -------------------------------------------------------------------------
325-
326-
// FIXME: Document these and merge with the list below.
327-
328-
// Unstable `#[target_feature]` directives.
329-
(unstable, aarch64_unstable_target_feature, "1.82.0", Some(44839)),
330-
(unstable, aarch64_ver_target_feature, "1.27.0", Some(44839)),
331-
(unstable, apx_target_feature, "1.88.0", Some(139284)),
332-
(unstable, arm_target_feature, "1.27.0", Some(44839)),
333-
(unstable, bpf_target_feature, "1.54.0", Some(44839)),
334-
(unstable, csky_target_feature, "1.73.0", Some(44839)),
335-
(unstable, ermsb_target_feature, "1.49.0", Some(44839)),
336-
(unstable, hexagon_target_feature, "1.27.0", Some(44839)),
337-
(unstable, lahfsahf_target_feature, "1.78.0", Some(44839)),
338-
(unstable, loongarch_target_feature, "1.73.0", Some(44839)),
339-
(unstable, m68k_target_feature, "1.85.0", Some(134328)),
340-
(unstable, mips_target_feature, "1.27.0", Some(44839)),
341-
(unstable, movrs_target_feature, "1.88.0", Some(137976)),
342-
(unstable, nvptx_target_feature, "1.91.0", Some(44839)),
343-
(unstable, powerpc_target_feature, "1.27.0", Some(44839)),
344-
(unstable, prfchw_target_feature, "1.78.0", Some(44839)),
345-
(unstable, riscv_target_feature, "1.45.0", Some(44839)),
346-
(unstable, rtm_target_feature, "1.35.0", Some(44839)),
347-
(unstable, s390x_target_feature, "1.82.0", Some(44839)),
348-
(unstable, sparc_target_feature, "1.84.0", Some(132783)),
349-
(unstable, wasm_target_feature, "1.30.0", Some(44839)),
350-
(unstable, x87_target_feature, "1.85.0", Some(44839)),
351-
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
352-
// Features are listed in alphabetical order. Tidy will fail if you don't keep it this way.
353-
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
354-
355-
// -------------------------------------------------------------------------
356-
// feature-group-end: actual feature gates (target features)
357-
// -------------------------------------------------------------------------
358-
359322
// -------------------------------------------------------------------------
360323
// feature-group-start: actual feature gates
361324
// -------------------------------------------------------------------------
362325

326+
/// The remaining unstable target features on aarch64.
327+
(unstable, aarch64_unstable_target_feature, "1.82.0", Some(150244)),
328+
/// Instruction set "version" target features on aarch64.
329+
(unstable, aarch64_ver_target_feature, "1.27.0", Some(150245)),
363330
/// Allows `extern "avr-interrupt" fn()` and `extern "avr-non-blocking-interrupt" fn()`.
364331
(unstable, abi_avr_interrupt, "1.45.0", Some(69664)),
365332
/// Allows `extern "cmse-nonsecure-call" fn()`.
@@ -380,10 +347,14 @@ declare_features! (
380347
(unstable, adt_const_params, "1.56.0", Some(95174)),
381348
/// Allows defining an `#[alloc_error_handler]`.
382349
(unstable, alloc_error_handler, "1.29.0", Some(51540)),
350+
/// The `apxf` target feature on x86
351+
(unstable, apx_target_feature, "1.88.0", Some(139284)),
383352
/// Allows inherent and trait methods with arbitrary self types.
384353
(unstable, arbitrary_self_types, "1.23.0", Some(44874)),
385354
/// Allows inherent and trait methods with arbitrary self types that are raw pointers.
386355
(unstable, arbitrary_self_types_pointers, "1.83.0", Some(44874)),
356+
/// Target features on arm.
357+
(unstable, arm_target_feature, "1.27.0", Some(150246)),
387358
/// Enables experimental inline assembly support for additional architectures.
388359
(unstable, asm_experimental_arch, "1.58.0", Some(93335)),
389360
/// Enables experimental register support in inline assembly.
@@ -408,6 +379,8 @@ declare_features! (
408379
(unstable, async_trait_bounds, "1.85.0", Some(62290)),
409380
/// Allows using Intel AVX10 target features and intrinsics
410381
(unstable, avx10_target_feature, "1.88.0", Some(138843)),
382+
/// Target features on bpf.
383+
(unstable, bpf_target_feature, "1.54.0", Some(150247)),
411384
/// Allows using C-variadics.
412385
(unstable, c_variadic, "1.34.0", Some(44930)),
413386
/// Allows defining c-variadic naked functions with any extern ABI that is allowed
@@ -468,6 +441,8 @@ declare_features! (
468441
/// Allows function attribute `#[coverage(on/off)]`, to control coverage
469442
/// instrumentation of that function.
470443
(unstable, coverage_attribute, "1.74.0", Some(84605)),
444+
/// Target features on csky.
445+
(unstable, csky_target_feature, "1.73.0", Some(150248)),
471446
/// Allows non-builtin attributes in inner attribute position.
472447
(unstable, custom_inner_attributes, "1.30.0", Some(54726)),
473448
/// Allows custom test frameworks with `#![test_runner]` and `#[test_case]`.
@@ -495,6 +470,8 @@ declare_features! (
495470
(incomplete, effective_target_features, "1.91.0", Some(143352)),
496471
/// Allows the .use postfix syntax `x.use` and use closures `use |x| { ... }`
497472
(incomplete, ergonomic_clones, "1.87.0", Some(132290)),
473+
/// ermsb target feature on x86.
474+
(unstable, ermsb_target_feature, "1.49.0", Some(150249)),
498475
/// Allows exhaustive pattern matching on types that contain uninhabited types.
499476
(unstable, exhaustive_patterns, "1.13.0", Some(51085)),
500477
/// Disallows `extern` without an explicit ABI.
@@ -541,6 +518,8 @@ declare_features! (
541518
(incomplete, guard_patterns, "1.85.0", Some(129967)),
542519
/// Allows using `..=X` as a patterns in slices.
543520
(unstable, half_open_range_patterns_in_slices, "1.66.0", Some(67264)),
521+
/// Target features on hexagon.
522+
(unstable, hexagon_target_feature, "1.27.0", Some(150250)),
544523
/// Allows `if let` guard in match arms.
545524
(unstable, if_let_guard, "1.47.0", Some(51114)),
546525
/// Allows `impl Trait` to be used inside associated types (RFC 2515).
@@ -555,15 +534,21 @@ declare_features! (
555534
(incomplete, inherent_associated_types, "1.52.0", Some(8995)),
556535
/// Allows using `pointer` and `reference` in intra-doc links
557536
(unstable, intra_doc_pointers, "1.51.0", Some(80896)),
537+
/// lahfsahf target feature on x86.
538+
(unstable, lahfsahf_target_feature, "1.78.0", Some(150251)),
558539
/// Allows setting the threshold for the `large_assignments` lint.
559540
(unstable, large_assignments, "1.52.0", Some(83518)),
560541
/// Allow to have type alias types for inter-crate use.
561542
(incomplete, lazy_type_alias, "1.72.0", Some(112792)),
562543
/// Allows using `#[link(kind = "link-arg", name = "...")]`
563544
/// to pass custom arguments to the linker.
564545
(unstable, link_arg_attribute, "1.76.0", Some(99427)),
546+
/// Target features on loongarch.
547+
(unstable, loongarch_target_feature, "1.73.0", Some(150252)),
565548
/// Allows fused `loop`/`match` for direct intraprocedural jumps.
566549
(incomplete, loop_match, "1.90.0", Some(132306)),
550+
/// Target features on m68k.
551+
(unstable, m68k_target_feature, "1.85.0", Some(134328)),
567552
/// Allow `macro_rules!` attribute rules
568553
(unstable, macro_attr, "1.91.0", Some(143547)),
569554
/// Allow `macro_rules!` derive rules
@@ -580,8 +565,12 @@ declare_features! (
580565
/// standard library until the soundness issues with specialization
581566
/// are fixed.
582567
(unstable, min_specialization, "1.7.0", Some(31844)),
568+
/// Target features on mips.
569+
(unstable, mips_target_feature, "1.27.0", Some(150253)),
583570
/// Allows qualified paths in struct expressions, struct patterns and tuple struct patterns.
584571
(unstable, more_qualified_paths, "1.54.0", Some(86935)),
572+
/// The `movrs` target feature on x86.
573+
(unstable, movrs_target_feature, "1.88.0", Some(137976)),
585574
/// Allows the `#[must_not_suspend]` attribute.
586575
(unstable, must_not_suspend, "1.57.0", Some(83310)),
587576
/// Allows `mut ref` and `mut ref mut` identifier patterns.
@@ -606,6 +595,8 @@ declare_features! (
606595
(unstable, non_exhaustive_omitted_patterns_lint, "1.57.0", Some(89554)),
607596
/// Allows `for<T>` binders in where-clauses
608597
(incomplete, non_lifetime_binders, "1.69.0", Some(108185)),
598+
/// Target feaures on nvptx.
599+
(unstable, nvptx_target_feature, "1.91.0", Some(150254)),
609600
/// Allows using enums in offset_of!
610601
(unstable, offset_of_enum, "1.75.0", Some(120141)),
611602
/// Allows using fields with slice type in offset_of!
@@ -618,6 +609,10 @@ declare_features! (
618609
(incomplete, pin_ergonomics, "1.83.0", Some(130494)),
619610
/// Allows postfix match `expr.match { ... }`
620611
(unstable, postfix_match, "1.79.0", Some(121618)),
612+
/// Target features on powerpc.
613+
(unstable, powerpc_target_feature, "1.27.0", Some(150255)),
614+
/// The prfchw target feature on x86.
615+
(unstable, prfchw_target_feature, "1.78.0", Some(150256)),
621616
/// Allows macro attributes on expressions, statements and non-inline modules.
622617
(unstable, proc_macro_hygiene, "1.30.0", Some(54727)),
623618
/// Allows the use of raw-dylibs on ELF platforms
@@ -633,12 +628,20 @@ declare_features! (
633628
(unstable, repr_simd, "1.4.0", Some(27731)),
634629
/// Allows bounding the return type of AFIT/RPITIT.
635630
(unstable, return_type_notation, "1.70.0", Some(109417)),
631+
/// Target features on riscv.
632+
(unstable, riscv_target_feature, "1.45.0", Some(150257)),
633+
/// The rtm target feature on x86.
634+
(unstable, rtm_target_feature, "1.35.0", Some(150258)),
636635
/// Allows `extern "rust-cold"`.
637636
(unstable, rust_cold_cc, "1.63.0", Some(97544)),
637+
/// Target features on s390x.
638+
(unstable, s390x_target_feature, "1.82.0", Some(150259)),
638639
/// Allows the use of the `sanitize` attribute.
639640
(unstable, sanitize, "1.91.0", Some(39699)),
640641
/// Allows the use of SIMD types in functions declared in `extern` blocks.
641642
(unstable, simd_ffi, "1.0.0", Some(27731)),
643+
/// Target features on sparc.
644+
(unstable, sparc_target_feature, "1.84.0", Some(132783)),
642645
/// Allows specialization of implementations (RFC 1210).
643646
(incomplete, specialization, "1.7.0", Some(31844)),
644647
/// Allows using `#[rustc_align_static(...)]` on static items.
@@ -683,10 +686,14 @@ declare_features! (
683686
(internal, unsized_fn_params, "1.49.0", Some(48055)),
684687
/// Allows using the `#[used(linker)]` (or `#[used(compiler)]`) attribute.
685688
(unstable, used_with_arg, "1.60.0", Some(93798)),
689+
/// Target features on wasm.
690+
(unstable, wasm_target_feature, "1.30.0", Some(150260)),
686691
/// Allows use of attributes in `where` clauses.
687692
(unstable, where_clause_attrs, "1.87.0", Some(115590)),
688693
/// Allows use of x86 `AMX` target-feature attributes and intrinsics
689694
(unstable, x86_amx_intrinsics, "1.81.0", Some(126622)),
695+
/// The x87 target feature on x86.
696+
(unstable, x87_target_feature, "1.85.0", Some(150261)),
690697
/// Allows use of the `xop` target-feature
691698
(unstable, xop_target_feature, "1.81.0", Some(127208)),
692699
/// Allows `do yeet` expressions

‎library/std_detect/src/detect/arch/s390x.rs‎

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,27 @@ features! {
1010
/// When the feature is known to be enabled at compile time (e.g. via `-Ctarget-feature`)
1111
/// the macro expands to `true`.
1212
#[stable(feature = "stdarch_s390x_feature_detection", since = "1.93.0")]
13-
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "44839")] concurrent_functions: "concurrent-functions";
13+
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "150259")] concurrent_functions: "concurrent-functions";
1414
/// s390x concurrent-functions facility
15-
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "44839")] deflate_conversion: "deflate-conversion";
15+
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "150259")] deflate_conversion: "deflate-conversion";
1616
/// s390x deflate-conversion facility
17-
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "44839")] enhanced_sort: "enhanced-sort";
17+
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "150259")] enhanced_sort: "enhanced-sort";
1818
/// s390x enhanced-sort facility
19-
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "44839")] guarded_storage: "guarded-storage";
19+
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "150259")] guarded_storage: "guarded-storage";
2020
/// s390x guarded-storage facility
21-
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "44839")] high_word: "high-word";
21+
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "150259")] high_word: "high-word";
2222
/// s390x high-word facility
23-
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "44839")] message_security_assist_extension3: "message-security-assist-extension3";
23+
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "150259")] message_security_assist_extension3: "message-security-assist-extension3";
2424
/// s390x message-security-assist-extension3 facility
25-
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "44839")] message_security_assist_extension4: "message-security-assist-extension4";
25+
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "150259")] message_security_assist_extension4: "message-security-assist-extension4";
2626
/// s390x message-security-assist-extension4 facility
27-
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "44839")] message_security_assist_extension5: "message-security-assist-extension5";
27+
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "150259")] message_security_assist_extension5: "message-security-assist-extension5";
2828
/// s390x message-security-assist-extension5 facility
29-
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "44839")] message_security_assist_extension8: "message-security-assist-extension8";
29+
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "150259")] message_security_assist_extension8: "message-security-assist-extension8";
3030
/// s390x message-security-assist-extension8 facility
31-
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "44839")] message_security_assist_extension9: "message-security-assist-extension9";
31+
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "150259")] message_security_assist_extension9: "message-security-assist-extension9";
3232
/// s390x message-security-assist-extension9 facility
33-
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "44839")] message_security_assist_extension12: "message-security-assist-extension12";
33+
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "150259")] message_security_assist_extension12: "message-security-assist-extension12";
3434
/// s390x message-security-assist-extension12 facility
3535
@FEATURE: #[stable(feature = "s390x_target_feature_vector", since = "1.93.0")] miscellaneous_extensions_2: "miscellaneous-extensions-2";
3636
/// s390x miscellaneous-extensions-2 facility
@@ -40,7 +40,7 @@ features! {
4040
/// s390x miscellaneous-extensions-4 facility
4141
@FEATURE: #[stable(feature = "s390x_target_feature_vector", since = "1.93.0")] nnp_assist: "nnp-assist";
4242
/// s390x nnp-assist facility
43-
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "44839")] transactional_execution: "transactional-execution";
43+
@FEATURE: #[unstable(feature = "s390x_target_feature", issue = "150259")] transactional_execution: "transactional-execution";
4444
/// s390x transactional-execution facility
4545
@FEATURE: #[stable(feature = "s390x_target_feature_vector", since = "1.93.0")] vector: "vector";
4646
/// s390x vector facility

‎tests/ui/target-feature/gate.stderr‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ error[E0658]: the target feature `x87` is currently unstable
44
LL | #[target_feature(enable = "x87")]
55
| ^^^^^^^^^^^^^^
66
|
7-
= note: see issue #44839 <https://github.com/rust-lang/rust/issues/44839> for more information
7+
= note: see issue #150261 <https://github.com/rust-lang/rust/issues/150261> for more information
88
= help: add `#![feature(x87_target_feature)]` to the crate attributes to enable
99
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
1010

0 commit comments

Comments
 (0)