@@ -66,30 +66,34 @@ pub struct Error {
66
66
67
67
impl fmt:: Display for Error {
68
68
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
69
+ use RustcErrorKind :: * ;
70
+
69
71
let error_code = self . error_code . as_ref ( ) . map_or ( "" , |code| & code[ ..] ) ;
72
+
73
+ let error_type = match & self . kind {
74
+ Some ( Help ) => "help" ,
75
+ Some ( Error ) => "dg-error" ,
76
+ Some ( Note ) => "dg-note" ,
77
+ Some ( Suggestion ) => "suggestion" ,
78
+ Some ( Warning ) => "dg-warning" ,
79
+ None => "dg-error" ,
80
+ } ;
81
+
82
+ let error_code = if error_code. is_empty ( ) {
83
+ error_code. to_owned ( )
84
+ } else {
85
+ format ! ( ".{}." , error_code)
86
+ } ;
87
+
88
+ let rel_line_number = if self . relative_line_num == 0 {
89
+ "" . to_owned ( )
90
+ } else {
91
+ format ! ( ".{} " , self . relative_line_num)
92
+ } ;
93
+
70
94
write ! (
71
95
f,
72
- "// {{ {} \" {}\" \" \" {{ target *-*-* }} {}}}" ,
73
- match & self . kind {
74
- Some ( kind) => match kind {
75
- RustcErrorKind :: Help => "help" ,
76
- RustcErrorKind :: Error => "dg-error" ,
77
- RustcErrorKind :: Note => "dg-note" ,
78
- RustcErrorKind :: Suggestion => "suggestion" ,
79
- RustcErrorKind :: Warning => "dg-warning" ,
80
- } ,
81
- None => "dg-error" ,
82
- } ,
83
- if !error_code. is_empty( ) {
84
- format!( ".{}." , error_code)
85
- } else {
86
- error_code. to_owned( )
87
- } ,
88
- if self . relative_line_num == 0 {
89
- "" . to_owned( )
90
- } else {
91
- format!( ".{} " , self . relative_line_num)
92
- } ,
96
+ "// {{ {error_type} \" {error_code}\" \" \" {{ target *-*-* }} {rel_line_number}}}"
93
97
)
94
98
}
95
99
}
0 commit comments