@@ -469,22 +469,28 @@ impl LangString {
469469 ) ;
470470
471471 for token in tokens {
472- match token {
472+ match token. trim ( ) {
473473 "" => { } ,
474- "should_panic" => { data. should_panic = true ; seen_rust_tags = true ; } ,
475- "no_run" => { data. no_run = true ; seen_rust_tags = true ; } ,
476- "ignore" => { data. ignore = true ; seen_rust_tags = true ; } ,
477- "rust" => { data. rust = true ; seen_rust_tags = true ; } ,
478- "test_harness" => { data. test_harness = true ; seen_rust_tags = true ; } ,
474+ "should_panic" => {
475+ data. should_panic = true ;
476+ seen_rust_tags = seen_other_tags == false ;
477+ }
478+ "no_run" => { data. no_run = true ; seen_rust_tags = !seen_other_tags; }
479+ "ignore" => { data. ignore = true ; seen_rust_tags = !seen_other_tags; }
480+ "rust" => { data. rust = true ; seen_rust_tags = true ; }
481+ "test_harness" => {
482+ data. test_harness = true ;
483+ seen_rust_tags = !seen_other_tags || seen_rust_tags;
484+ }
479485 "compile_fail" if allow_compile_fail => {
480486 data. compile_fail = true ;
481- seen_rust_tags = true ;
487+ seen_rust_tags = !seen_other_tags || seen_rust_tags ;
482488 data. no_run = true ;
483489 }
484490 x if allow_error_code_check && x. starts_with ( "E" ) && x. len ( ) == 5 => {
485491 if let Ok ( _) = x[ 1 ..] . parse :: < u32 > ( ) {
486492 data. error_codes . push ( x. to_owned ( ) ) ;
487- seen_rust_tags = true ;
493+ seen_rust_tags = !seen_other_tags || seen_rust_tags ;
488494 } else {
489495 seen_other_tags = true ;
490496 }
@@ -670,9 +676,11 @@ mod tests {
670676 t ( "test_harness" , false , false , false , true , true , false , Vec :: new ( ) ) ;
671677 t ( "compile_fail" , false , true , false , true , false , true , Vec :: new ( ) ) ;
672678 t ( "{.no_run .example}" , false , true , false , true , false , false , Vec :: new ( ) ) ;
673- t ( "{.sh .should_panic}" , true , false , false , true , false , false , Vec :: new ( ) ) ;
679+ t ( "{.sh .should_panic}" , true , false , false , false , false , false , Vec :: new ( ) ) ;
674680 t ( "{.example .rust}" , false , false , false , true , false , false , Vec :: new ( ) ) ;
675681 t ( "{.test_harness .rust}" , false , false , false , true , true , false , Vec :: new ( ) ) ;
682+ t ( "text, no_run" , false , true , false , false , false , false , Vec :: new ( ) ) ;
683+ t ( "text,no_run" , false , true , false , false , false , false , Vec :: new ( ) ) ;
676684 }
677685
678686 #[ test]
0 commit comments