@@ -107,7 +107,11 @@ enum Directive {
107107 Ignore ( bool ) ,
108108}
109109
110- fn contains_ignore_directive ( contents : & str , check : & str ) -> Directive {
110+ fn contains_ignore_directive ( can_contain : bool , contents : & str , check : & str ) -> Directive {
111+ if !can_contain {
112+ return Directive :: Deny ;
113+ }
114+ // Update `can_contain` when changing this
111115 if contents. contains ( & format ! ( "// ignore-tidy-{}" , check) ) ||
112116 contents. contains ( & format ! ( "# ignore-tidy-{}" , check) ) {
113117 Directive :: Ignore ( false )
@@ -140,12 +144,15 @@ pub fn check(path: &Path, bad: &mut bool) {
140144 tidy_error ! ( bad, "{}: empty file" , file. display( ) ) ;
141145 }
142146
143- let mut skip_cr = contains_ignore_directive ( & contents, "cr" ) ;
144- let mut skip_tab = contains_ignore_directive ( & contents, "tab" ) ;
145- let mut skip_line_length = contains_ignore_directive ( & contents, "linelength" ) ;
146- let mut skip_file_length = contains_ignore_directive ( & contents, "filelength" ) ;
147- let mut skip_end_whitespace = contains_ignore_directive ( & contents, "end-whitespace" ) ;
148- let mut skip_copyright = contains_ignore_directive ( & contents, "copyright" ) ;
147+ let can_contain = contents. contains ( "// ignore-tidy-" ) ||
148+ contents. contains ( "# ignore-tidy-" ) ;
149+ let mut skip_cr = contains_ignore_directive ( can_contain, & contents, "cr" ) ;
150+ let mut skip_tab = contains_ignore_directive ( can_contain, & contents, "tab" ) ;
151+ let mut skip_line_length = contains_ignore_directive ( can_contain, & contents, "linelength" ) ;
152+ let mut skip_file_length = contains_ignore_directive ( can_contain, & contents, "filelength" ) ;
153+ let mut skip_end_whitespace =
154+ contains_ignore_directive ( can_contain, & contents, "end-whitespace" ) ;
155+ let mut skip_copyright = contains_ignore_directive ( can_contain, & contents, "copyright" ) ;
149156 let mut leading_new_lines = false ;
150157 let mut trailing_new_lines = 0 ;
151158 let mut lines = 0 ;
0 commit comments