@@ -68,31 +68,31 @@ pub fn compare_outputs(intrinsic_name_list: &Vec<String>, runner: &str, target:
6868 let intrinsics_diff_count = intrinsics
6969 . par_iter ( )
7070 . filter_map ( |& & intrinsic| {
71- println ! ( "Difference for intrinsic: {intrinsic}" ) ;
7271 let c_output = c_output_map. get ( intrinsic) . unwrap ( ) ;
7372 let rust_output = rust_output_map. get ( intrinsic) . unwrap ( ) ;
7473 let diff = diff:: lines ( c_output, rust_output) ;
75- let diff_count = diff
74+ let diffs = diff
7675 . into_iter ( )
7776 . filter_map ( |diff| match diff {
78- diff:: Result :: Left ( c) => {
79- println ! ( "C: {c}" ) ;
80- Some ( c)
81- }
82- diff:: Result :: Right ( rust) => {
83- println ! ( "Rust: {rust}" ) ;
84- Some ( rust)
85- }
77+ diff:: Result :: Left ( _) | diff:: Result :: Right ( _) => Some ( diff) ,
8678 diff:: Result :: Both ( _, _) => None ,
8779 } )
88- . count ( ) ;
89- println ! ( "****************************************************************" ) ;
90- if diff_count > 0 {
91- Some ( intrinsic)
80+ . collect_vec ( ) ;
81+ if diffs. len ( ) > 0 {
82+ Some ( ( intrinsic, diffs) )
9283 } else {
9384 None
9485 }
9586 } )
87+ . inspect ( |( intrinsic, diffs) | {
88+ println ! ( "Difference for intrinsic: {intrinsic}" ) ;
89+ diffs. into_iter ( ) . for_each ( |diff| match diff {
90+ diff:: Result :: Left ( c) => println ! ( "C: {c}" ) ,
91+ diff:: Result :: Right ( rust) => println ! ( "Rust: {rust}" ) ,
92+ _ => ( ) ,
93+ } ) ;
94+ println ! ( "****************************************************************" ) ;
95+ } )
9696 . count ( ) ;
9797
9898 println ! (
0 commit comments