Skip to content

Commit 605cd2a

Browse files
ojedaintel-lab-lkp
authored andcommitted
rust: kbuild: provide RUSTC_HAS_DO_NOT_RECOMMEND symbol
Rust 1.85.0 (current stable version) stabilized [1] `#[diagnostic::do_not_recommend]` [2]. In order to use it across all supported Rust versions, introduce a new Kconfig symbol for it. This allows to perform conditional compilation based on it, e.g. on the use site to enable the attribute: #[cfg_attr(RUSTC_HAS_DO_NOT_RECOMMEND, diagnostic::do_not_recommend)] impl A for i32 {} An alternative would have been to `allow` the following warning: #![allow(unknown_or_malformed_diagnostic_attributes)] However, that would lose the checking for typos across all versions, which we do not want to lose. One can also use the Kconfig symbol to allow the warning in older compilers instead, to avoid repeating the `cfg_attr` line above in all use sites: #![cfg_attr( not(RUSTC_HAS_DO_NOT_RECOMMEND), expect(unknown_or_malformed_diagnostic_attributes) )] That still loses the checking for typos in older versions, but we still keep it in newer ones, thus we should still catch mistakes eventually. In this case we can promote it to `expect` as shown above, so that we do not forget to remove these lines if we stop using the attribute somewhere. Link: rust-lang/rust#132056 [1] Link: https://doc.rust-lang.org/reference/attributes/diagnostics.html#the-diagnosticdo_not_recommend-attribute [2] Link: https://lore.kernel.org/rust-for-linux/CANiq72mYfhuRWkjomb1vOMMPOaxvdS6qjfVLAwxUw6ecdqyh2A@mail.gmail.com/ Signed-off-by: Miguel Ojeda <[email protected]> Signed-off-by: Oliver Mangold <[email protected]>
1 parent f8496ce commit 605cd2a

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

init/Kconfig

+3
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@ config CC_HAS_COUNTED_BY
132132
config RUSTC_HAS_COERCE_POINTEE
133133
def_bool RUSTC_VERSION >= 108400
134134

135+
config RUSTC_HAS_DO_NOT_RECOMMEND
136+
def_bool RUSTC_VERSION >= 108500
137+
135138
config PAHOLE_VERSION
136139
int
137140
default $(shell,$(srctree)/scripts/pahole-version.sh $(PAHOLE))

0 commit comments

Comments
 (0)