@@ -74,29 +74,32 @@ fn main() {
7474 log:: debug!( "Failed to save build cache: {e}" ) ;
7575 }
7676
77- let mut error_count = 0 ;
77+ let mut error_messages : Vec < String > = Vec :: new ( ) ;
7878
7979 for err in & result. build_errors {
80- eprintln ! ( "[error] {err}" ) ;
81- error_count += 1 ;
80+ error_messages. push ( format ! ( "{err}" ) ) ;
8281 }
8382
84- for module in & result. modules {
83+ let total = result. modules . len ( ) ;
84+ for ( i, module) in result. modules . iter ( ) . enumerate ( ) {
8585 if module. type_errors . is_empty ( ) {
86- println ! ( "[ok ] {}" , module. module_name) ;
86+ println ! ( "[{}/{} ] {}" , i + 1 , total , module. module_name) ;
8787 } else {
8888 for err in & module. type_errors {
89- eprintln ! ( "[error] {}: {err}" , module. module_name) ;
90- error_count += 1 ;
89+ error_messages. push ( format ! ( "{}: {err}" , module. module_name) ) ;
9190 }
9291 }
9392 }
9493
95- if error_count > 0 {
94+ if !error_messages. is_empty ( ) {
95+ let error_count = error_messages. len ( ) ;
9696 eprintln ! (
97- "\n Compilation failed with {error_count} error{}. " ,
97+ "\n Compilation failed with {error_count} error{}: \n " ,
9898 if error_count == 1 { "" } else { "s" }
9999 ) ;
100+ for msg in & error_messages {
101+ eprintln ! ( " {msg}" ) ;
102+ }
100103 std:: process:: exit ( 1 ) ;
101104 } else {
102105 println ! (
0 commit comments