You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The macro reference should explain how #[cfg] and #[cfg_attr(...)] behave inside macros.
Does this macro check the allow_clippy flag of the crate the macro is defined in, or of the crate the macro is used in?
macro_rules! field_check {($type:path, $field:tt) => {// Make sure the field actually exists. This line ensures that a// compile-time error is generated if $field is accessed through a// Deref impl.
#[cfg_attr(allow_clippy, allow(clippy::unneeded_field_pattern))]let $type { $field: _, .. };
};}
The text was updated successfully, but these errors were encountered:
I assume you are interested in more than just allow/deny diagnostic behavior. I mention that because I believe (some?) diagnostics have special behavior in external macros where they are disabled. The reference has historically shied away from documenting diagnostics, so that particular behavior is a bit of a gray area, but probably should be mentioned.
There are a few other behaviors of cfg/cfg_attr that I'd like to see documented (#565, #103). In particular, I think the order of transformations ("phases of translation" in C parlance) would be useful to specify to make it clear whencfg processing is done in relation to other phases.
The macro reference should explain how
#[cfg]
and#[cfg_attr(...)]
behave inside macros.Does this macro check the
allow_clippy
flag of the crate the macro is defined in, or of the crate the macro is used in?The text was updated successfully, but these errors were encountered: