Address review comments

This commit is contained in:
Samuel E. Moelius III
2022-03-28 04:32:31 -04:00
parent 86872059ed
commit cb307bbfcd
6 changed files with 102 additions and 41 deletions

View File

@@ -1,8 +1,8 @@
// run-rustfix
#![warn(clippy::crate_in_macro_def)]
#[macro_use]
mod hygienic {
#[macro_export]
macro_rules! print_message_hygienic {
() => {
println!("{}", $crate::hygienic::MESSAGE);
@@ -12,8 +12,8 @@ mod hygienic {
pub const MESSAGE: &str = "Hello!";
}
#[macro_use]
mod unhygienic {
#[macro_export]
macro_rules! print_message_unhygienic {
() => {
println!("{}", $crate::unhygienic::MESSAGE);
@@ -23,7 +23,34 @@ mod unhygienic {
pub const MESSAGE: &str = "Hello!";
}
mod unhygienic_intentionally {
// For cases where the use of `crate` is intentional, applying `allow` to the macro definition
// should suppress the lint.
#[allow(clippy::crate_in_macro_def)]
#[macro_export]
macro_rules! print_message_unhygienic_intentionally {
() => {
println!("{}", crate::CALLER_PROVIDED_MESSAGE);
};
}
}
#[macro_use]
mod not_exported {
macro_rules! print_message_not_exported {
() => {
println!("{}", crate::not_exported::MESSAGE);
};
}
pub const MESSAGE: &str = "Hello!";
}
fn main() {
print_message_hygienic!();
print_message_unhygienic!();
print_message_unhygienic_intentionally!();
print_message_not_exported!();
}
pub const CALLER_PROVIDED_MESSAGE: &str = "Hello!";

View File

@@ -1,8 +1,8 @@
// run-rustfix
#![warn(clippy::crate_in_macro_def)]
#[macro_use]
mod hygienic {
#[macro_export]
macro_rules! print_message_hygienic {
() => {
println!("{}", $crate::hygienic::MESSAGE);
@@ -12,8 +12,8 @@ mod hygienic {
pub const MESSAGE: &str = "Hello!";
}
#[macro_use]
mod unhygienic {
#[macro_export]
macro_rules! print_message_unhygienic {
() => {
println!("{}", crate::unhygienic::MESSAGE);
@@ -23,7 +23,34 @@ mod unhygienic {
pub const MESSAGE: &str = "Hello!";
}
mod unhygienic_intentionally {
// For cases where the use of `crate` is intentional, applying `allow` to the macro definition
// should suppress the lint.
#[allow(clippy::crate_in_macro_def)]
#[macro_export]
macro_rules! print_message_unhygienic_intentionally {
() => {
println!("{}", crate::CALLER_PROVIDED_MESSAGE);
};
}
}
#[macro_use]
mod not_exported {
macro_rules! print_message_not_exported {
() => {
println!("{}", crate::not_exported::MESSAGE);
};
}
pub const MESSAGE: &str = "Hello!";
}
fn main() {
print_message_hygienic!();
print_message_unhygienic!();
print_message_unhygienic_intentionally!();
print_message_not_exported!();
}
pub const CALLER_PROVIDED_MESSAGE: &str = "Hello!";

View File

@@ -1,19 +0,0 @@
#![warn(clippy::crate_in_macro_def)]
#[macro_use]
mod intentional {
// For cases where use of `crate` is intentional, applying `allow` to the macro definition
// should suppress the lint.
#[allow(clippy::crate_in_macro_def)]
macro_rules! print_message {
() => {
println!("{}", crate::CALLER_PROVIDED_MESSAGE);
};
}
}
fn main() {
print_message!();
}
pub const CALLER_PROVIDED_MESSAGE: &str = "Hello!";