@@ -35,7 +35,7 @@ impl EarlyProps {
35
35
36
36
pub fn from_reader < R : Read > ( config : & Config , testfile : & Path , rdr : R ) -> Self {
37
37
let mut props = EarlyProps :: default ( ) ;
38
- iter_header ( testfile, rdr, & mut |_, ln| {
38
+ iter_header ( testfile, rdr, & mut |_, ln, _ | {
39
39
config. push_name_value_directive ( ln, directives:: AUX_BUILD , & mut props. aux , |r| {
40
40
r. trim ( ) . to_string ( )
41
41
} ) ;
@@ -283,7 +283,7 @@ impl TestProps {
283
283
if !testfile. is_dir ( ) {
284
284
let file = File :: open ( testfile) . unwrap ( ) ;
285
285
286
- iter_header ( testfile, file, & mut |revision, ln| {
286
+ iter_header ( testfile, file, & mut |revision, ln, _ | {
287
287
if revision. is_some ( ) && revision != cfg {
288
288
return ;
289
289
}
@@ -577,7 +577,7 @@ pub fn line_directive<'line>(
577
577
}
578
578
}
579
579
580
- fn iter_header < R : Read > ( testfile : & Path , rdr : R , it : & mut dyn FnMut ( Option < & str > , & str ) ) {
580
+ fn iter_header < R : Read > ( testfile : & Path , rdr : R , it : & mut dyn FnMut ( Option < & str > , & str , usize ) ) {
581
581
if testfile. is_dir ( ) {
582
582
return ;
583
583
}
@@ -586,8 +586,10 @@ fn iter_header<R: Read>(testfile: &Path, rdr: R, it: &mut dyn FnMut(Option<&str>
586
586
587
587
let mut rdr = BufReader :: new ( rdr) ;
588
588
let mut ln = String :: new ( ) ;
589
+ let mut line_number = 0 ;
589
590
590
591
loop {
592
+ line_number += 1 ;
591
593
ln. clear ( ) ;
592
594
if rdr. read_line ( & mut ln) . unwrap ( ) == 0 {
593
595
break ;
@@ -600,7 +602,7 @@ fn iter_header<R: Read>(testfile: &Path, rdr: R, it: &mut dyn FnMut(Option<&str>
600
602
if ln. starts_with ( "fn" ) || ln. starts_with ( "mod" ) {
601
603
return ;
602
604
} else if let Some ( ( lncfg, ln) ) = line_directive ( comment, ln) {
603
- it ( lncfg, ln) ;
605
+ it ( lncfg, ln, line_number ) ;
604
606
}
605
607
}
606
608
}
@@ -859,7 +861,7 @@ pub fn make_test_description<R: Read>(
859
861
860
862
let needs_cache = needs:: CachedNeedsConditions :: load ( config) ;
861
863
862
- iter_header ( path, src, & mut |revision, ln| {
864
+ iter_header ( path, src, & mut |revision, ln, line_number | {
863
865
if revision. is_some ( ) && revision != cfg {
864
866
return ;
865
867
}
@@ -875,7 +877,7 @@ pub fn make_test_description<R: Read>(
875
877
ignore_message = Some ( & * Box :: leak( Box :: <str >:: from( reason) ) ) ;
876
878
}
877
879
IgnoreDecision :: Error { message } => {
878
- eprintln!( "error: {}: {message}" , path. display( ) ) ;
880
+ eprintln!( "error: {}:{line_number}: {message}" , path. display( ) ) ;
879
881
* poisoned = true ;
880
882
return ;
881
883
}
0 commit comments