diff --git a/src/tools/tidy/src/style.rs b/src/tools/tidy/src/style.rs index d994f60b2bb..4a159d926b7 100644 --- a/src/tools/tidy/src/style.rs +++ b/src/tools/tidy/src/style.rs @@ -107,7 +107,11 @@ enum Directive { Ignore(bool), } -fn contains_ignore_directive(contents: &str, check: &str) -> Directive { +fn contains_ignore_directive(can_contain: bool, contents: &str, check: &str) -> Directive { + if !can_contain { + return Directive::Deny; + } + // Update `can_contain` when changing this if contents.contains(&format!("// ignore-tidy-{}", check)) || contents.contains(&format!("# ignore-tidy-{}", check)) { Directive::Ignore(false) @@ -140,12 +144,15 @@ pub fn check(path: &Path, bad: &mut bool) { tidy_error!(bad, "{}: empty file", file.display()); } - let mut skip_cr = contains_ignore_directive(&contents, "cr"); - let mut skip_tab = contains_ignore_directive(&contents, "tab"); - let mut skip_line_length = contains_ignore_directive(&contents, "linelength"); - let mut skip_file_length = contains_ignore_directive(&contents, "filelength"); - let mut skip_end_whitespace = contains_ignore_directive(&contents, "end-whitespace"); - let mut skip_copyright = contains_ignore_directive(&contents, "copyright"); + let can_contain = contents.contains("// ignore-tidy-") || + contents.contains("# ignore-tidy-"); + let mut skip_cr = contains_ignore_directive(can_contain, &contents, "cr"); + let mut skip_tab = contains_ignore_directive(can_contain, &contents, "tab"); + let mut skip_line_length = contains_ignore_directive(can_contain, &contents, "linelength"); + let mut skip_file_length = contains_ignore_directive(can_contain, &contents, "filelength"); + let mut skip_end_whitespace = + contains_ignore_directive(can_contain, &contents, "end-whitespace"); + let mut skip_copyright = contains_ignore_directive(can_contain, &contents, "copyright"); let mut leading_new_lines = false; let mut trailing_new_lines = 0; let mut lines = 0;