@@ -6,6 +6,7 @@ use crate::{
6
6
Level , CodeSuggestion , DiagnosticBuilder , SubDiagnostic ,
7
7
SuggestionStyle , SourceMapperDyn , DiagnosticId ,
8
8
} ;
9
+ use crate :: Level :: Error ;
9
10
use crate :: snippet:: { Annotation , AnnotationType , Line , MultilineAnnotation , StyledString , Style } ;
10
11
use crate :: styled_buffer:: StyledBuffer ;
11
12
@@ -72,6 +73,7 @@ impl Emitter for EmitterWriter {
72
73
73
74
self . fix_multispans_in_std_macros ( & mut primary_span,
74
75
& mut children,
76
+ & db. level ,
75
77
db. handler . flags . external_macro_backtrace ) ;
76
78
77
79
self . emit_messages_default ( & db. level ,
@@ -856,18 +858,27 @@ impl EmitterWriter {
856
858
fn fix_multispans_in_std_macros ( & mut self ,
857
859
span : & mut MultiSpan ,
858
860
children : & mut Vec < SubDiagnostic > ,
861
+ level : & Level ,
859
862
backtrace : bool ) {
860
863
let mut spans_updated = self . fix_multispan_in_std_macros ( span, backtrace) ;
861
864
for child in children. iter_mut ( ) {
862
865
spans_updated |= self . fix_multispan_in_std_macros ( & mut child. span , backtrace) ;
863
866
}
867
+ let msg = if level == & Error {
868
+ "this error originates in a macro outside of the current crate \
869
+ (in Nightly builds, run with -Z external-macro-backtrace \
870
+ for more info)". to_string ( )
871
+ } else {
872
+ "this warning originates in a macro outside of the current crate \
873
+ (in Nightly builds, run with -Z external-macro-backtrace \
874
+ for more info)". to_string ( )
875
+ } ;
876
+
864
877
if spans_updated {
865
878
children. push ( SubDiagnostic {
866
879
level : Level :: Note ,
867
880
message : vec ! [
868
- ( "this error originates in a macro outside of the current crate \
869
- (in Nightly builds, run with -Z external-macro-backtrace \
870
- for more info)". to_string( ) ,
881
+ ( msg,
871
882
Style :: NoStyle ) ,
872
883
] ,
873
884
span : MultiSpan :: new ( ) ,
0 commit comments