Skip to content

Commit f76c736

Browse files
committed
Auto merge of #137995 - hkBst:parse_format_reuse_unescape, r=nnethercote
Remove duplicate impl of string unescape from parse_format r? `@nnethercote`
2 parents 891b852 + 3d4737f commit f76c736

6 files changed

Lines changed: 453 additions & 552 deletions

File tree

‎compiler/rustc_builtin_macros/src/format.rs‎

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use std::ops::Range;
2+
13
use parse::Position::ArgumentNamed;
24
use rustc_ast::ptr::P;
35
use rustc_ast::tokenstream::TokenStream;
@@ -335,7 +337,7 @@ fn make_format_args(
335337
returnExpandResult::Ready(Err(guar));
336338
}
337339

338-
let to_span = |inner_span:parse::InnerSpan| {
340+
let to_span = |inner_span:Range<usize>| {
339341
is_source_literal.then(|| {
340342
fmt_span.from_inner(InnerSpan{start: inner_span.start,end: inner_span.end})
341343
})
@@ -407,7 +409,7 @@ fn make_format_args(
407409
letmut placeholder_index = 0;
408410

409411
for piece in&pieces {
410-
match*piece {
412+
match piece.clone(){
411413
parse::Piece::Lit(s) => {
412414
unfinished_literal.push_str(s);
413415
}
@@ -417,7 +419,8 @@ fn make_format_args(
417419
unfinished_literal.clear();
418420
}
419421

420-
let span = parser.arg_places.get(placeholder_index).and_then(|&s| to_span(s));
422+
let span =
423+
parser.arg_places.get(placeholder_index).and_then(|s| to_span(s.clone()));
421424
placeholder_index += 1;
422425

423426
let position_span = to_span(position_span);
@@ -609,7 +612,7 @@ fn make_format_args(
609612
fninvalid_placeholder_type_error(
610613
ecx:&ExtCtxt<'_>,
611614
ty:&str,
612-
ty_span:Option<parse::InnerSpan>,
615+
ty_span:Option<Range<usize>>,
613616
fmt_span:Span,
614617
){
615618
let sp = ty_span.map(|sp| fmt_span.from_inner(InnerSpan::new(sp.start, sp.end)));

0 commit comments

Comments
 (0)