@@ -846,9 +846,9 @@ pub fn expand_preparsed_format_args(
846
846
847
847
let msg = "format argument must be a string literal" ;
848
848
let fmt_sp = efmt. span ;
849
- let fmt = match expr_to_spanned_string ( ecx, efmt, msg) {
849
+ let ( fmt_str , fmt_style , fmt_span ) = match expr_to_spanned_string ( ecx, efmt, msg) {
850
850
Ok ( mut fmt) if append_newline => {
851
- fmt. node . 0 = Symbol :: intern ( & format ! ( "{}\n " , fmt. node . 0 ) ) ;
851
+ fmt. 0 = Symbol :: intern ( & format ! ( "{}\n " , fmt. 0 ) ) ;
852
852
fmt
853
853
}
854
854
Ok ( fmt) => fmt,
@@ -875,7 +875,7 @@ pub fn expand_preparsed_format_args(
875
875
_ => ( false , None ) ,
876
876
} ;
877
877
878
- let str_style = match fmt . node . 1 {
878
+ let str_style = match fmt_style {
879
879
ast:: StrStyle :: Cooked => None ,
880
880
ast:: StrStyle :: Raw ( raw) => {
881
881
Some ( raw as usize )
@@ -981,7 +981,7 @@ pub fn expand_preparsed_format_args(
981
981
vec ! [ ]
982
982
} ;
983
983
984
- let fmt_str = & * fmt . node . 0 . as_str ( ) ; // for the suggestions below
984
+ let fmt_str = & * fmt_str . as_str ( ) ; // for the suggestions below
985
985
let mut parser = parse:: Parser :: new ( fmt_str, str_style, skips, append_newline) ;
986
986
987
987
let mut unverified_pieces = Vec :: new ( ) ;
@@ -995,23 +995,23 @@ pub fn expand_preparsed_format_args(
995
995
996
996
if !parser. errors . is_empty ( ) {
997
997
let err = parser. errors . remove ( 0 ) ;
998
- let sp = fmt . span . from_inner ( err. span ) ;
998
+ let sp = fmt_span . from_inner ( err. span ) ;
999
999
let mut e = ecx. struct_span_err ( sp, & format ! ( "invalid format string: {}" ,
1000
1000
err. description) ) ;
1001
1001
e. span_label ( sp, err. label + " in format string" ) ;
1002
1002
if let Some ( note) = err. note {
1003
1003
e. note ( & note) ;
1004
1004
}
1005
1005
if let Some ( ( label, span) ) = err. secondary_label {
1006
- let sp = fmt . span . from_inner ( span) ;
1006
+ let sp = fmt_span . from_inner ( span) ;
1007
1007
e. span_label ( sp, label) ;
1008
1008
}
1009
1009
e. emit ( ) ;
1010
1010
return DummyResult :: raw_expr ( sp, true ) ;
1011
1011
}
1012
1012
1013
1013
let arg_spans = parser. arg_places . iter ( )
1014
- . map ( |span| fmt . span . from_inner ( * span) )
1014
+ . map ( |span| fmt_span . from_inner ( * span) )
1015
1015
. collect ( ) ;
1016
1016
1017
1017
let named_pos: FxHashSet < usize > = names. values ( ) . cloned ( ) . collect ( ) ;
@@ -1034,7 +1034,7 @@ pub fn expand_preparsed_format_args(
1034
1034
str_pieces : Vec :: with_capacity ( unverified_pieces. len ( ) ) ,
1035
1035
all_pieces_simple : true ,
1036
1036
macsp,
1037
- fmtsp : fmt . span ,
1037
+ fmtsp : fmt_span ,
1038
1038
invalid_refs : Vec :: new ( ) ,
1039
1039
arg_spans,
1040
1040
arg_with_formatting : Vec :: new ( ) ,
0 commit comments