Check arguments of attributes where no arguments are expected#155193
Conversation
|
cc @rust-lang/wg-const-eval Some changes occurred in compiler/rustc_attr_parsing |
|
@bors try |
This comment has been minimized.
This comment has been minimized.
Check arguments of attributes where no arguments are expected
This comment has been minimized.
This comment has been minimized.
3231b2a to
15b2265
Compare
|
Try build cancelled. Cancelled workflows: |
Check arguments of attributes where no arguments are expected
This comment has been minimized.
This comment has been minimized.
|
@craterbot check |
|
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
15b2265 to
10495f2
Compare
This comment has been minimized.
This comment has been minimized.
10495f2 to
e6fe0e7
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
279d1d0 to
3fcbca4
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
I think this is good to go! Did a final check :) @bors r+ |
…=jdonszelmann Check arguments of attributes where no arguments are expected This PR does the following: - Add a debug assertion to `rustc_attr_parsing`, to ensure we never forget to check the arguments of a meta item again - Removes the unused `#[derive(Clone)]` from `ArgParser` as that would break this debug assertion - **[BREAKING]** Properly check that `#[inline(always(...))]` gets no arguments - **[BREAKING]** Properly check that `#[instruction_set(arm::a32(...))]` gets no arguments - **[BREAKING]** Properly check that `#[macro_export(local_inner_macros(...))]` gets no arguments. Fixes rust-lang#154977 - **[BREAKING]** Properly check that `#[used(compiler(...))]` gets no arguments. - Properly check that `#[optimize(size(...))]` gets no arguments. - Properly check that `#[coverage(on(...))]` gets no arguments. - Properly check that `#[rustc_dump_layout(debug(...))]` gets no arguments. - Properly check that `#[rustc_abi(debug(...))]` gets no arguments. - Properly check that `#![test_runner(arg(...))]` gets no arguments. - Properly check that `#[rustc_must_implement_one_of(arg(...))]` gets no arguments. - Properly check that `#[allow_internal_unstable(arg(...))]` gets no arguments. - Properly check that `#[unstable_feature_bound(arg(...))]` gets no arguments. - Properly check that `#[rustc_allow_const_fn_unstable(arg(...))]` gets no arguments. - Properly check that `#[rustc_if_this_changed(arg(...))]` gets no arguments. - Properly check that `#[rustc_then_this_would_need(arg(...))]` gets no arguments. r? @jdonszelmann
…=jdonszelmann Check arguments of attributes where no arguments are expected This PR does the following: - Add a debug assertion to `rustc_attr_parsing`, to ensure we never forget to check the arguments of a meta item again - Removes the unused `#[derive(Clone)]` from `ArgParser` as that would break this debug assertion - **[BREAKING]** Properly check that `#[inline(always(...))]` gets no arguments - **[BREAKING]** Properly check that `#[instruction_set(arm::a32(...))]` gets no arguments - **[BREAKING]** Properly check that `#[macro_export(local_inner_macros(...))]` gets no arguments. Fixes rust-lang#154977 - **[BREAKING]** Properly check that `#[used(compiler(...))]` gets no arguments. - Properly check that `#[optimize(size(...))]` gets no arguments. - Properly check that `#[coverage(on(...))]` gets no arguments. - Properly check that `#[rustc_dump_layout(debug(...))]` gets no arguments. - Properly check that `#[rustc_abi(debug(...))]` gets no arguments. - Properly check that `#![test_runner(arg(...))]` gets no arguments. - Properly check that `#[rustc_must_implement_one_of(arg(...))]` gets no arguments. - Properly check that `#[allow_internal_unstable(arg(...))]` gets no arguments. - Properly check that `#[unstable_feature_bound(arg(...))]` gets no arguments. - Properly check that `#[rustc_allow_const_fn_unstable(arg(...))]` gets no arguments. - Properly check that `#[rustc_if_this_changed(arg(...))]` gets no arguments. - Properly check that `#[rustc_then_this_would_need(arg(...))]` gets no arguments. r? @jdonszelmann
…=jdonszelmann Check arguments of attributes where no arguments are expected This PR does the following: - Add a debug assertion to `rustc_attr_parsing`, to ensure we never forget to check the arguments of a meta item again - Removes the unused `#[derive(Clone)]` from `ArgParser` as that would break this debug assertion - **[BREAKING]** Properly check that `#[inline(always(...))]` gets no arguments - **[BREAKING]** Properly check that `#[instruction_set(arm::a32(...))]` gets no arguments - **[BREAKING]** Properly check that `#[macro_export(local_inner_macros(...))]` gets no arguments. Fixes rust-lang#154977 - **[BREAKING]** Properly check that `#[used(compiler(...))]` gets no arguments. - Properly check that `#[optimize(size(...))]` gets no arguments. - Properly check that `#[coverage(on(...))]` gets no arguments. - Properly check that `#[rustc_dump_layout(debug(...))]` gets no arguments. - Properly check that `#[rustc_abi(debug(...))]` gets no arguments. - Properly check that `#![test_runner(arg(...))]` gets no arguments. - Properly check that `#[rustc_must_implement_one_of(arg(...))]` gets no arguments. - Properly check that `#[allow_internal_unstable(arg(...))]` gets no arguments. - Properly check that `#[unstable_feature_bound(arg(...))]` gets no arguments. - Properly check that `#[rustc_allow_const_fn_unstable(arg(...))]` gets no arguments. - Properly check that `#[rustc_if_this_changed(arg(...))]` gets no arguments. - Properly check that `#[rustc_then_this_would_need(arg(...))]` gets no arguments. r? @jdonszelmann
…uwer Rollup of 13 pull requests Successful merges: - #156085 (miri: require (almost) all 1-ZST arguments to be actually passed) - #155193 (Check arguments of attributes where no arguments are expected) - #156516 (nix: remove some unneeded variables) - #156562 (Resolving Windows environment test failures) - #156588 (Don't drop uninit memory when `MapWindows::clone` panics) - #156673 (Privacy: small cleanups) - #156817 (Add `#[unsafe_eii]` to unsafe EII UI tests) - #156924 (Use #[panic_handler] rather than #[lang = "panic_impl"]) - #157055 (LLVM 23: Run AssignGUIDPass in some places) - #157108 (Add Xtensa va_arg assembly coverage) - #157220 (cg_ssa: a bit less `immediate_or_packed_pair`) - #157241 (Trace `?id.local_def_index` instead of `id` in `def_path_hash`) - #157242 (Tune backport Zulip messages)
…uwer Rollup of 13 pull requests Successful merges: - #156085 (miri: require (almost) all 1-ZST arguments to be actually passed) - #155193 (Check arguments of attributes where no arguments are expected) - #156516 (nix: remove some unneeded variables) - #156562 (Resolving Windows environment test failures) - #156588 (Don't drop uninit memory when `MapWindows::clone` panics) - #156673 (Privacy: small cleanups) - #156817 (Add `#[unsafe_eii]` to unsafe EII UI tests) - #156924 (Use #[panic_handler] rather than #[lang = "panic_impl"]) - #157055 (LLVM 23: Run AssignGUIDPass in some places) - #157108 (Add Xtensa va_arg assembly coverage) - #157220 (cg_ssa: a bit less `immediate_or_packed_pair`) - #157241 (Trace `?id.local_def_index` instead of `id` in `def_path_hash`) - #157242 (Tune backport Zulip messages)
…uwer Rollup of 13 pull requests Successful merges: - #156085 (miri: require (almost) all 1-ZST arguments to be actually passed) - #155193 (Check arguments of attributes where no arguments are expected) - #156516 (nix: remove some unneeded variables) - #156562 (Resolving Windows environment test failures) - #156588 (Don't drop uninit memory when `MapWindows::clone` panics) - #156673 (Privacy: small cleanups) - #156817 (Add `#[unsafe_eii]` to unsafe EII UI tests) - #156924 (Use #[panic_handler] rather than #[lang = "panic_impl"]) - #157055 (LLVM 23: Run AssignGUIDPass in some places) - #157108 (Add Xtensa va_arg assembly coverage) - #157220 (cg_ssa: a bit less `immediate_or_packed_pair`) - #157241 (Trace `?id.local_def_index` instead of `id` in `def_path_hash`) - #157242 (Tune backport Zulip messages)
Rollup merge of #155193 - JonathanBrouwer:args_used_check, r=jdonszelmann Check arguments of attributes where no arguments are expected This PR does the following: - Add a debug assertion to `rustc_attr_parsing`, to ensure we never forget to check the arguments of a meta item again - Removes the unused `#[derive(Clone)]` from `ArgParser` as that would break this debug assertion - **[BREAKING]** Properly check that `#[inline(always(...))]` gets no arguments - **[BREAKING]** Properly check that `#[instruction_set(arm::a32(...))]` gets no arguments - **[BREAKING]** Properly check that `#[macro_export(local_inner_macros(...))]` gets no arguments. Fixes #154977 - **[BREAKING]** Properly check that `#[used(compiler(...))]` gets no arguments. - Properly check that `#[optimize(size(...))]` gets no arguments. - Properly check that `#[coverage(on(...))]` gets no arguments. - Properly check that `#[rustc_dump_layout(debug(...))]` gets no arguments. - Properly check that `#[rustc_abi(debug(...))]` gets no arguments. - Properly check that `#![test_runner(arg(...))]` gets no arguments. - Properly check that `#[rustc_must_implement_one_of(arg(...))]` gets no arguments. - Properly check that `#[allow_internal_unstable(arg(...))]` gets no arguments. - Properly check that `#[unstable_feature_bound(arg(...))]` gets no arguments. - Properly check that `#[rustc_allow_const_fn_unstable(arg(...))]` gets no arguments. - Properly check that `#[rustc_if_this_changed(arg(...))]` gets no arguments. - Properly check that `#[rustc_then_this_would_need(arg(...))]` gets no arguments. r? @jdonszelmann
…uwer Rollup of 13 pull requests Successful merges: - rust-lang/rust#156085 (miri: require (almost) all 1-ZST arguments to be actually passed) - rust-lang/rust#155193 (Check arguments of attributes where no arguments are expected) - rust-lang/rust#156516 (nix: remove some unneeded variables) - rust-lang/rust#156562 (Resolving Windows environment test failures) - rust-lang/rust#156588 (Don't drop uninit memory when `MapWindows::clone` panics) - rust-lang/rust#156673 (Privacy: small cleanups) - rust-lang/rust#156817 (Add `#[unsafe_eii]` to unsafe EII UI tests) - rust-lang/rust#156924 (Use #[panic_handler] rather than #[lang = "panic_impl"]) - rust-lang/rust#157055 (LLVM 23: Run AssignGUIDPass in some places) - rust-lang/rust#157108 (Add Xtensa va_arg assembly coverage) - rust-lang/rust#157220 (cg_ssa: a bit less `immediate_or_packed_pair`) - rust-lang/rust#157241 (Trace `?id.local_def_index` instead of `id` in `def_path_hash`) - rust-lang/rust#157242 (Tune backport Zulip messages)
View all comments
This PR does the following:
rustc_attr_parsing, to ensure we never forget to check the arguments of a meta item again#[derive(Clone)]fromArgParseras that would break this debug assertion#[inline(always(...))]gets no arguments#[instruction_set(arm::a32(...))]gets no arguments#[macro_export(local_inner_macros(...))]gets no arguments.Fixes Invalid value accepted for
#[macro_export(local_inner_macros)]#154977#[used(compiler(...))]gets no arguments.#[optimize(size(...))]gets no arguments.#[coverage(on(...))]gets no arguments.#[rustc_dump_layout(debug(...))]gets no arguments.#[rustc_abi(debug(...))]gets no arguments.#![test_runner(arg(...))]gets no arguments.#[rustc_must_implement_one_of(arg(...))]gets no arguments.#[allow_internal_unstable(arg(...))]gets no arguments.#[unstable_feature_bound(arg(...))]gets no arguments.#[rustc_allow_const_fn_unstable(arg(...))]gets no arguments.#[rustc_if_this_changed(arg(...))]gets no arguments.#[rustc_then_this_would_need(arg(...))]gets no arguments.r? @jdonszelmann