Skip to content

Avoid #[target_features] - #159809

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
nnethercote:fix-target_features-messages
Jul 26, 2026
Merged

Avoid #[target_features]#159809
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
nnethercote:fix-target_features-messages

Conversation

@nnethercote

Copy link
Copy Markdown
Contributor

The string #[target_features] is used in various error messages as well as the compiler's code. But there is no such attribute, which I found very confusing.

I think it means "one or more target features", e.g. covering both #[target_feature(foo)] and #[target_feature(foo, bar, baz)].

We already use #[target_feature(..)] for that meaning in several places. So this commit changes all #[target_features] occurrences to #[target_feature(..)]. It also changes a few #[target_feature] (no plural) occurrences to #[target_feature(..)] for consistency with other mentions nearby in error messages.

r? @oli-obk

The string `#[target_features]` is used in various error messages as
well as the compiler's code. But there is no such attribute, which I
found very confusing.
I think it means "one or more target features", e.g. covering both
`#[target_feature(foo)]` and `#[target_feature(foo, bar, baz)]`.
We already use `#[target_feature(..)]` for that meaning in several
places. So this commit changes all `#[target_features]` occurrences to
`#[target_feature(..)]`. It also changes a few `#[target_feature]` (no
plural) occurrences to `#[target_feature(..)]` for consistency with
other mentions nearby in error messages.
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jul 24, 2026

@oli-obkoli-obk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rust-bors

rust-borsBot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

📌 Commit af56582 has been approved by oli-obk

It is now in the queue for this repository.

@rust-borsrust-borsBot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 24, 2026
@RalfJung

Copy link
Copy Markdown
Member

I think it means "one or more target features",

I think it's just people constantly forgetting that for some odd reason, -Ctarget-feature and #[target_feature] accept a list of target features despite their name being a singular... I write -Ctarget-features all the time. :/

jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 24, 2026
…ssages, r=oli-obk
Avoid `#[target_features]`
The string `#[target_features]` is used in various error messages as well as the compiler's code. But there is no such attribute, which I found very confusing.
I think it means "one or more target features", e.g. covering both `#[target_feature(foo)]` and `#[target_feature(foo, bar, baz)]`.
We already use `#[target_feature(..)]` for that meaning in several places. So this commit changes all `#[target_features]` occurrences to `#[target_feature(..)]`. It also changes a few `#[target_feature]` (no plural) occurrences to `#[target_feature(..)]` for consistency with other mentions nearby in error messages.
r? @oli-obk
@jhprattjhpratt mentioned this pull request Jul 24, 2026
rust-borsBot pushed a commit that referenced this pull request Jul 24, 2026
Rollup of 3 pull requests
Successful merges:
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159809 (Avoid `#[target_features]`)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 24, 2026
…ssages, r=oli-obk
Avoid `#[target_features]`
The string `#[target_features]` is used in various error messages as well as the compiler's code. But there is no such attribute, which I found very confusing.
I think it means "one or more target features", e.g. covering both `#[target_feature(foo)]` and `#[target_feature(foo, bar, baz)]`.
We already use `#[target_feature(..)]` for that meaning in several places. So this commit changes all `#[target_features]` occurrences to `#[target_feature(..)]`. It also changes a few `#[target_feature]` (no plural) occurrences to `#[target_feature(..)]` for consistency with other mentions nearby in error messages.
r? @oli-obk
@jhprattjhpratt mentioned this pull request Jul 24, 2026
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 24, 2026
…ssages, r=oli-obk
Avoid `#[target_features]`
The string `#[target_features]` is used in various error messages as well as the compiler's code. But there is no such attribute, which I found very confusing.
I think it means "one or more target features", e.g. covering both `#[target_feature(foo)]` and `#[target_feature(foo, bar, baz)]`.
We already use `#[target_feature(..)]` for that meaning in several places. So this commit changes all `#[target_features]` occurrences to `#[target_feature(..)]`. It also changes a few `#[target_feature]` (no plural) occurrences to `#[target_feature(..)]` for consistency with other mentions nearby in error messages.
r? @oli-obk
@jhprattjhpratt mentioned this pull request Jul 24, 2026
rust-borsBot pushed a commit that referenced this pull request Jul 24, 2026
Rollup of 17 pull requests
Successful merges:
- #158168 (Added implementation on `set_permissions_nofollow` for all primary platforms)
- #138618 (Support using const pointers in asm `const` operand)
- #157962 (Function item should not be used as const arg)
- #158404 (trait_solver: normalize next-gen region constraints)
- #158709 (rustdoc: warn on improperly interleaved HTML/MD)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159411 ([rustdoc] Correctly handle output options with --show-coverage)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159809 (Avoid `#[target_features]`)
- #159826 (Remove redundant `#[rustc_paren_sugar]` feature gate)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 25, 2026
…ssages, r=oli-obk
Avoid `#[target_features]`
The string `#[target_features]` is used in various error messages as well as the compiler's code. But there is no such attribute, which I found very confusing.
I think it means "one or more target features", e.g. covering both `#[target_feature(foo)]` and `#[target_feature(foo, bar, baz)]`.
We already use `#[target_feature(..)]` for that meaning in several places. So this commit changes all `#[target_features]` occurrences to `#[target_feature(..)]`. It also changes a few `#[target_feature]` (no plural) occurrences to `#[target_feature(..)]` for consistency with other mentions nearby in error messages.
r? @oli-obk
@jhprattjhpratt mentioned this pull request Jul 25, 2026
rust-borsBot pushed a commit that referenced this pull request Jul 25, 2026
Rollup of 16 pull requests
Successful merges:
- #138618 (Support using const pointers in asm `const` operand)
- #157962 (Function item should not be used as const arg)
- #158404 (trait_solver: normalize next-gen region constraints)
- #158709 (rustdoc: warn on improperly interleaved HTML/MD)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159411 ([rustdoc] Correctly handle output options with --show-coverage)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159809 (Avoid `#[target_features]`)
- #159826 (Remove redundant `#[rustc_paren_sugar]` feature gate)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 25, 2026
…ssages, r=oli-obk
Avoid `#[target_features]`
The string `#[target_features]` is used in various error messages as well as the compiler's code. But there is no such attribute, which I found very confusing.
I think it means "one or more target features", e.g. covering both `#[target_feature(foo)]` and `#[target_feature(foo, bar, baz)]`.
We already use `#[target_feature(..)]` for that meaning in several places. So this commit changes all `#[target_features]` occurrences to `#[target_feature(..)]`. It also changes a few `#[target_feature]` (no plural) occurrences to `#[target_feature(..)]` for consistency with other mentions nearby in error messages.
r? @oli-obk
@jhprattjhpratt mentioned this pull request Jul 25, 2026
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 25, 2026
…ssages, r=oli-obk
Avoid `#[target_features]`
The string `#[target_features]` is used in various error messages as well as the compiler's code. But there is no such attribute, which I found very confusing.
I think it means "one or more target features", e.g. covering both `#[target_feature(foo)]` and `#[target_feature(foo, bar, baz)]`.
We already use `#[target_feature(..)]` for that meaning in several places. So this commit changes all `#[target_features]` occurrences to `#[target_feature(..)]`. It also changes a few `#[target_feature]` (no plural) occurrences to `#[target_feature(..)]` for consistency with other mentions nearby in error messages.
r? @oli-obk
@jhprattjhpratt mentioned this pull request Jul 25, 2026
rust-borsBot pushed a commit that referenced this pull request Jul 25, 2026
Rollup of 20 pull requests
Successful merges:
- #138618 (Support using const pointers in asm `const` operand)
- #157962 (Lower paths to functions in const args as ConstKind::Error)
- #158404 (trait_solver: normalize next-gen region constraints)
- #158709 (rustdoc: warn on improperly interleaved HTML/MD)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159738 (implement `CovariantUnsafeCell`)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159676 (Update wasm-component-ld to 0.5.27)
- #159730 (allow accessing the contents of UnsafeCell without going through get)
- #159809 (Avoid `#[target_features]`)
- #159826 (Remove redundant `#[rustc_paren_sugar]` feature gate)
- #159853 (Updated expect messages for `CString` struct and method documentation)
- #159877 (Revert "Export `derive` at `core::derive` and `std::derive`")
rust-borsBot pushed a commit that referenced this pull request Jul 25, 2026
Rollup of 20 pull requests
Successful merges:
- #138618 (Support using const pointers in asm `const` operand)
- #157962 (Lower paths to functions in const args as ConstKind::Error)
- #158404 (trait_solver: normalize next-gen region constraints)
- #158709 (rustdoc: warn on improperly interleaved HTML/MD)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159738 (implement `CovariantUnsafeCell`)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159676 (Update wasm-component-ld to 0.5.27)
- #159730 (allow accessing the contents of UnsafeCell without going through get)
- #159809 (Avoid `#[target_features]`)
- #159826 (Remove redundant `#[rustc_paren_sugar]` feature gate)
- #159853 (Updated expect messages for `CString` struct and method documentation)
- #159877 (Revert "Export `derive` at `core::derive` and `std::derive`")
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 25, 2026
…ssages, r=oli-obk
Avoid `#[target_features]`
The string `#[target_features]` is used in various error messages as well as the compiler's code. But there is no such attribute, which I found very confusing.
I think it means "one or more target features", e.g. covering both `#[target_feature(foo)]` and `#[target_feature(foo, bar, baz)]`.
We already use `#[target_feature(..)]` for that meaning in several places. So this commit changes all `#[target_features]` occurrences to `#[target_feature(..)]`. It also changes a few `#[target_feature]` (no plural) occurrences to `#[target_feature(..)]` for consistency with other mentions nearby in error messages.
r? @oli-obk
rust-borsBot pushed a commit that referenced this pull request Jul 25, 2026
Rollup of 23 pull requests
Successful merges:
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159738 (implement `CovariantUnsafeCell`)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159204 (Add support to caller_location to rustc_public)
- #159411 ([rustdoc] Correctly handle output options with --show-coverage)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159676 (Update wasm-component-ld to 0.5.27)
- #159730 (allow accessing the contents of UnsafeCell without going through get)
- #159809 (Avoid `#[target_features]`)
- #159810 (Add tuple never coercion collection regression test)
- #159826 (Remove redundant `#[rustc_paren_sugar]` feature gate)
- #159853 (Updated expect messages for `CString` struct and method documentation)
- #159877 (Revert "Export `derive` at `core::derive` and `std::derive`")
- #159878 (bootstrap: Remove obsolete option `build.compiletest-use-stage0-libtest`)
- #159882 (Update expect messages in library/alloc/boxed.rs and library/alloc/string.rs to follow the style guide)
- #159891 (Split multiline derives into std/rustc macros)
- #159895 (rustc-dev-guide subtree update)
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 25, 2026
…ssages, r=oli-obk
Avoid `#[target_features]`
The string `#[target_features]` is used in various error messages as well as the compiler's code. But there is no such attribute, which I found very confusing.
I think it means "one or more target features", e.g. covering both `#[target_feature(foo)]` and `#[target_feature(foo, bar, baz)]`.
We already use `#[target_feature(..)]` for that meaning in several places. So this commit changes all `#[target_features]` occurrences to `#[target_feature(..)]`. It also changes a few `#[target_feature]` (no plural) occurrences to `#[target_feature(..)]` for consistency with other mentions nearby in error messages.
r? @oli-obk
rust-borsBot pushed a commit that referenced this pull request Jul 25, 2026
Rollup of 23 pull requests
Successful merges:
- #159673 (bootstrap: forward -fdebug-prefix-map when using cc)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159738 (implement `CovariantUnsafeCell`)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159204 (Add support to caller_location to rustc_public)
- #159411 ([rustdoc] Correctly handle output options with --show-coverage)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159676 (Update wasm-component-ld to 0.5.27)
- #159730 (allow accessing the contents of UnsafeCell without going through get)
- #159809 (Avoid `#[target_features]`)
- #159810 (Add tuple never coercion collection regression test)
- #159826 (Remove redundant `#[rustc_paren_sugar]` feature gate)
- #159853 (Updated expect messages for `CString` struct and method documentation)
- #159878 (bootstrap: Remove obsolete option `build.compiletest-use-stage0-libtest`)
- #159882 (Update expect messages in library/alloc/boxed.rs and library/alloc/string.rs to follow the style guide)
- #159891 (Split multiline derives into std/rustc macros)
- #159895 (rustc-dev-guide subtree update)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jul 25, 2026
…ssages, r=oli-obk
Avoid `#[target_features]`
The string `#[target_features]` is used in various error messages as well as the compiler's code. But there is no such attribute, which I found very confusing.
I think it means "one or more target features", e.g. covering both `#[target_feature(foo)]` and `#[target_feature(foo, bar, baz)]`.
We already use `#[target_feature(..)]` for that meaning in several places. So this commit changes all `#[target_features]` occurrences to `#[target_feature(..)]`. It also changes a few `#[target_feature]` (no plural) occurrences to `#[target_feature(..)]` for consistency with other mentions nearby in error messages.
r? @oli-obk
rust-borsBot pushed a commit that referenced this pull request Jul 25, 2026
…uwer
Rollup of 25 pull requests
Successful merges:
- #138618 (Support using const pointers in asm `const` operand)
- #157962 (Lower paths to functions in const args as ConstKind::Error)
- #158404 (trait_solver: normalize next-gen region constraints)
- #158709 (rustdoc: warn on improperly interleaved HTML/MD)
- #159174 (Fix implicit_provenance_casts warnings on Xous)
- #159179 (enable `unreachable_cfg_select_predicates` lint as part of `unused` lint group)
- #159518 (iter: extend step_by specialization to cover StepBy<RangeIter<{integer}>>)
- #159673 (bootstrap: forward -fdebug-prefix-map when using cc)
- #159700 (Split non-local `semicolon_in_expressions_from_macros` into a separate lint)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159738 (implement `CovariantUnsafeCell`)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159785 (Share _Unwind_Exception definition between native and wasm)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159204 (Add support to caller_location to rustc_public)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159676 (Update wasm-component-ld to 0.5.27)
- #159695 (proc_macro: Fix cfg_attr inner attrs in file modules)
- #159730 (allow accessing the contents of UnsafeCell without going through get)
- #159809 (Avoid `#[target_features]`)
rust-borsBot pushed a commit that referenced this pull request Jul 25, 2026
…uwer
Rollup of 25 pull requests
Successful merges:
- #138618 (Support using const pointers in asm `const` operand)
- #157962 (Lower paths to functions in const args as ConstKind::Error)
- #158404 (trait_solver: normalize next-gen region constraints)
- #158709 (rustdoc: warn on improperly interleaved HTML/MD)
- #159174 (Fix implicit_provenance_casts warnings on Xous)
- #159179 (enable `unreachable_cfg_select_predicates` lint as part of `unused` lint group)
- #159518 (iter: extend step_by specialization to cover StepBy<RangeIter<{integer}>>)
- #159673 (bootstrap: forward -fdebug-prefix-map when using cc)
- #159700 (Split non-local `semicolon_in_expressions_from_macros` into a separate lint)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159738 (implement `CovariantUnsafeCell`)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159785 (Share _Unwind_Exception definition between native and wasm)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159204 (Add support to caller_location to rustc_public)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159676 (Update wasm-component-ld to 0.5.27)
- #159695 (proc_macro: Fix cfg_attr inner attrs in file modules)
- #159730 (allow accessing the contents of UnsafeCell without going through get)
- #159809 (Avoid `#[target_features]`)
rust-borsBot pushed a commit that referenced this pull request Jul 25, 2026
…uwer
Rollup of 25 pull requests
Successful merges:
- #138618 (Support using const pointers in asm `const` operand)
- #157962 (Lower paths to functions in const args as ConstKind::Error)
- #158404 (trait_solver: normalize next-gen region constraints)
- #158709 (rustdoc: warn on improperly interleaved HTML/MD)
- #159174 (Fix implicit_provenance_casts warnings on Xous)
- #159179 (enable `unreachable_cfg_select_predicates` lint as part of `unused` lint group)
- #159518 (iter: extend step_by specialization to cover StepBy<RangeIter<{integer}>>)
- #159673 (bootstrap: forward -fdebug-prefix-map when using cc)
- #159700 (Split non-local `semicolon_in_expressions_from_macros` into a separate lint)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159738 (implement `CovariantUnsafeCell`)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159785 (Share _Unwind_Exception definition between native and wasm)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159204 (Add support to caller_location to rustc_public)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159676 (Update wasm-component-ld to 0.5.27)
- #159695 (proc_macro: Fix cfg_attr inner attrs in file modules)
- #159730 (allow accessing the contents of UnsafeCell without going through get)
- #159809 (Avoid `#[target_features]`)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jul 25, 2026
…ssages, r=oli-obk
Avoid `#[target_features]`
The string `#[target_features]` is used in various error messages as well as the compiler's code. But there is no such attribute, which I found very confusing.
I think it means "one or more target features", e.g. covering both `#[target_feature(foo)]` and `#[target_feature(foo, bar, baz)]`.
We already use `#[target_feature(..)]` for that meaning in several places. So this commit changes all `#[target_features]` occurrences to `#[target_feature(..)]`. It also changes a few `#[target_feature]` (no plural) occurrences to `#[target_feature(..)]` for consistency with other mentions nearby in error messages.
r? @oli-obk
rust-borsBot pushed a commit that referenced this pull request Jul 25, 2026
…uwer
Rollup of 25 pull requests
Successful merges:
- #159825 (codegen: handle OperandValue::Uninit in codegen_return_terminator)
- #138618 (Support using const pointers in asm `const` operand)
- #157962 (Lower paths to functions in const args as ConstKind::Error)
- #158404 (trait_solver: normalize next-gen region constraints)
- #158709 (rustdoc: warn on improperly interleaved HTML/MD)
- #159174 (Fix implicit_provenance_casts warnings on Xous)
- #159179 (enable `unreachable_cfg_select_predicates` lint as part of `unused` lint group)
- #159518 (iter: extend step_by specialization to cover StepBy<RangeIter<{integer}>>)
- #159673 (bootstrap: forward -fdebug-prefix-map when using cc)
- #159700 (Split non-local `semicolon_in_expressions_from_macros` into a separate lint)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159738 (implement `CovariantUnsafeCell`)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159204 (Add support to caller_location to rustc_public)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159676 (Update wasm-component-ld to 0.5.27)
- #159695 (proc_macro: Fix cfg_attr inner attrs in file modules)
- #159730 (allow accessing the contents of UnsafeCell without going through get)
- #159809 (Avoid `#[target_features]`)
rust-borsBot pushed a commit that referenced this pull request Jul 25, 2026
…uwer
Rollup of 25 pull requests
Successful merges:
- #159825 (codegen: handle OperandValue::Uninit in codegen_return_terminator)
- #138618 (Support using const pointers in asm `const` operand)
- #157962 (Lower paths to functions in const args as ConstKind::Error)
- #158404 (trait_solver: normalize next-gen region constraints)
- #158709 (rustdoc: warn on improperly interleaved HTML/MD)
- #159174 (Fix implicit_provenance_casts warnings on Xous)
- #159179 (enable `unreachable_cfg_select_predicates` lint as part of `unused` lint group)
- #159518 (iter: extend step_by specialization to cover StepBy<RangeIter<{integer}>>)
- #159673 (bootstrap: forward -fdebug-prefix-map when using cc)
- #159700 (Split non-local `semicolon_in_expressions_from_macros` into a separate lint)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159738 (implement `CovariantUnsafeCell`)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159204 (Add support to caller_location to rustc_public)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159676 (Update wasm-component-ld to 0.5.27)
- #159695 (proc_macro: Fix cfg_attr inner attrs in file modules)
- #159730 (allow accessing the contents of UnsafeCell without going through get)
- #159809 (Avoid `#[target_features]`)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 26, 2026
…ssages, r=oli-obk
Avoid `#[target_features]`
The string `#[target_features]` is used in various error messages as well as the compiler's code. But there is no such attribute, which I found very confusing.
I think it means "one or more target features", e.g. covering both `#[target_feature(foo)]` and `#[target_feature(foo, bar, baz)]`.
We already use `#[target_feature(..)]` for that meaning in several places. So this commit changes all `#[target_features]` occurrences to `#[target_feature(..)]`. It also changes a few `#[target_feature]` (no plural) occurrences to `#[target_feature(..)]` for consistency with other mentions nearby in error messages.
r? @oli-obk
This was referenced Jul 26, 2026
rust-borsBot pushed a commit that referenced this pull request Jul 26, 2026
Rollup of 25 pull requests
Successful merges:
- #138618 (Support using const pointers in asm `const` operand)
- #157962 (Lower paths to functions in const args as ConstKind::Error)
- #158709 (rustdoc: warn on improperly interleaved HTML/MD)
- #159174 (Fix implicit_provenance_casts warnings on Xous)
- #159179 (enable `unreachable_cfg_select_predicates` lint as part of `unused` lint group)
- #159518 (iter: extend step_by specialization to cover StepBy<RangeIter<{integer}>>)
- #159673 (bootstrap: forward -fdebug-prefix-map when using cc)
- #159700 (Split non-local `semicolon_in_expressions_from_macros` into a separate lint)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159738 (implement `CovariantUnsafeCell`)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #152439 (Fix typos and grammar in library documentation)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159204 (Add support to caller_location to rustc_public)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159676 (Update wasm-component-ld to 0.5.27)
- #159695 (proc_macro: Fix cfg_attr inner attrs in file modules)
- #159730 (allow accessing the contents of UnsafeCell without going through get)
- #159809 (Avoid `#[target_features]`)
- #159878 (bootstrap: Remove obsolete option `build.compiletest-use-stage0-libtest`)
rust-borsBot pushed a commit that referenced this pull request Jul 26, 2026
Rollup of 25 pull requests
Successful merges:
- #138618 (Support using const pointers in asm `const` operand)
- #157962 (Lower paths to functions in const args as ConstKind::Error)
- #158709 (rustdoc: warn on improperly interleaved HTML/MD)
- #159174 (Fix implicit_provenance_casts warnings on Xous)
- #159179 (enable `unreachable_cfg_select_predicates` lint as part of `unused` lint group)
- #159518 (iter: extend step_by specialization to cover StepBy<RangeIter<{integer}>>)
- #159673 (bootstrap: forward -fdebug-prefix-map when using cc)
- #159700 (Split non-local `semicolon_in_expressions_from_macros` into a separate lint)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159738 (implement `CovariantUnsafeCell`)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #152439 (Fix typos and grammar in library documentation)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159204 (Add support to caller_location to rustc_public)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159676 (Update wasm-component-ld to 0.5.27)
- #159695 (proc_macro: Fix cfg_attr inner attrs in file modules)
- #159730 (allow accessing the contents of UnsafeCell without going through get)
- #159809 (Avoid `#[target_features]`)
- #159878 (bootstrap: Remove obsolete option `build.compiletest-use-stage0-libtest`)
rust-borsBot pushed a commit that referenced this pull request Jul 26, 2026
Rollup of 25 pull requests
Successful merges:
- #138618 (Support using const pointers in asm `const` operand)
- #157962 (Lower paths to functions in const args as ConstKind::Error)
- #158709 (rustdoc: warn on improperly interleaved HTML/MD)
- #159174 (Fix implicit_provenance_casts warnings on Xous)
- #159179 (enable `unreachable_cfg_select_predicates` lint as part of `unused` lint group)
- #159518 (iter: extend step_by specialization to cover StepBy<RangeIter<{integer}>>)
- #159673 (bootstrap: forward -fdebug-prefix-map when using cc)
- #159700 (Split non-local `semicolon_in_expressions_from_macros` into a separate lint)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159738 (implement `CovariantUnsafeCell`)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #152439 (Fix typos and grammar in library documentation)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159204 (Add support to caller_location to rustc_public)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159676 (Update wasm-component-ld to 0.5.27)
- #159695 (proc_macro: Fix cfg_attr inner attrs in file modules)
- #159730 (allow accessing the contents of UnsafeCell without going through get)
- #159809 (Avoid `#[target_features]`)
- #159878 (bootstrap: Remove obsolete option `build.compiletest-use-stage0-libtest`)
rust-borsBot pushed a commit that referenced this pull request Jul 26, 2026
Rollup of 25 pull requests
Successful merges:
- #138618 (Support using const pointers in asm `const` operand)
- #157962 (Lower paths to functions in const args as ConstKind::Error)
- #158709 (rustdoc: warn on improperly interleaved HTML/MD)
- #159174 (Fix implicit_provenance_casts warnings on Xous)
- #159179 (enable `unreachable_cfg_select_predicates` lint as part of `unused` lint group)
- #159518 (iter: extend step_by specialization to cover StepBy<RangeIter<{integer}>>)
- #159673 (bootstrap: forward -fdebug-prefix-map when using cc)
- #159700 (Split non-local `semicolon_in_expressions_from_macros` into a separate lint)
- #159720 (document #[global_allocator] constraints)
- #159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- #159738 (implement `CovariantUnsafeCell`)
- #159740 (reuse regular exported_non_generic_symbols logic in Miri)
- #159780 (check `extern "custom"` function pointers)
- #159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- #159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- #152439 (Fix typos and grammar in library documentation)
- #155388 (stepping into where-clauses during normalization may be productive)
- #155914 (when bailing on ambiguity, don't force other results to ambig)
- #159204 (Add support to caller_location to rustc_public)
- #159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- #159676 (Update wasm-component-ld to 0.5.27)
- #159695 (proc_macro: Fix cfg_attr inner attrs in file modules)
- #159730 (allow accessing the contents of UnsafeCell without going through get)
- #159809 (Avoid `#[target_features]`)
- #159878 (bootstrap: Remove obsolete option `build.compiletest-use-stage0-libtest`)
@rust-bors
rust-borsBot merged commit 08eec7a into rust-lang:mainJul 26, 2026
13 checks passed
rust-timer added a commit that referenced this pull request Jul 26, 2026
Rollup merge of #159809 - nnethercote:fix-target_features-messages, r=oli-obk
Avoid `#[target_features]`
The string `#[target_features]` is used in various error messages as well as the compiler's code. But there is no such attribute, which I found very confusing.
I think it means "one or more target features", e.g. covering both `#[target_feature(foo)]` and `#[target_feature(foo, bar, baz)]`.
We already use `#[target_feature(..)]` for that meaning in several places. So this commit changes all `#[target_features]` occurrences to `#[target_feature(..)]`. It also changes a few `#[target_feature]` (no plural) occurrences to `#[target_feature(..)]` for consistency with other mentions nearby in error messages.
r? @oli-obk
@nnethercote
nnethercote deleted the fix-target_features-messages branch July 26, 2026 10:40
pullBot pushed a commit to xtqqczze/rust-lang-miri that referenced this pull request Jul 27, 2026
Rollup of 25 pull requests
Successful merges:
- rust-lang/rust#138618 (Support using const pointers in asm `const` operand)
- rust-lang/rust#157962 (Lower paths to functions in const args as ConstKind::Error)
- rust-lang/rust#158709 (rustdoc: warn on improperly interleaved HTML/MD)
- rust-lang/rust#159174 (Fix implicit_provenance_casts warnings on Xous)
- rust-lang/rust#159179 (enable `unreachable_cfg_select_predicates` lint as part of `unused` lint group)
- rust-lang/rust#159518 (iter: extend step_by specialization to cover StepBy<RangeIter<{integer}>>)
- rust-lang/rust#159673 (bootstrap: forward -fdebug-prefix-map when using cc)
- rust-lang/rust#159700 (Split non-local `semicolon_in_expressions_from_macros` into a separate lint)
- rust-lang/rust#159720 (document #[global_allocator] constraints)
- rust-lang/rust#159732 (optimization: don't look for diagnostic/canonical items without rustc_attrs enabled)
- rust-lang/rust#159738 (implement `CovariantUnsafeCell`)
- rust-lang/rust#159740 (reuse regular exported_non_generic_symbols logic in Miri)
- rust-lang/rust#159780 (check `extern "custom"` function pointers)
- rust-lang/rust#159786 (rustdoc-js: ignore editor temp files in test folder discovery)
- rust-lang/rust#159819 (std::sync::poison: disable auto_cfg on PoisonError::new)
- rust-lang/rust#152439 (Fix typos and grammar in library documentation)
- rust-lang/rust#155388 (stepping into where-clauses during normalization may be productive)
- rust-lang/rust#155914 (when bailing on ambiguity, don't force other results to ambig)
- rust-lang/rust#159204 (Add support to caller_location to rustc_public)
- rust-lang/rust#159439 (Fix(lib/fs/win): Fall back on Win32 delete for `Dir::remove_file`)
- rust-lang/rust#159676 (Update wasm-component-ld to 0.5.27)
- rust-lang/rust#159695 (proc_macro: Fix cfg_attr inner attrs in file modules)
- rust-lang/rust#159730 (allow accessing the contents of UnsafeCell without going through get)
- rust-lang/rust#159809 (Avoid `#[target_features]`)
- rust-lang/rust#159878 (bootstrap: Remove obsolete option `build.compiletest-use-stage0-libtest`)
@cuvipercuviper added this to the 1.99.0 milestone Aug 20, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@nnethercote@RalfJung@oli-obk@cuviper@rustbot