diff options
| author | Michael Goulet <michael@errs.io> | 2024-04-07 19:28:01 -0400 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2024-04-09 14:06:08 -0400 |
| commit | a439eb259da620fa95c67c0c6e89f196bcb61f08 (patch) | |
| tree | 0ead45dbc88a673add2b2cf6574078fd03f8884d /compiler/rustc_infer/src | |
| parent | 033becf83c62814357f4810db149471db46ab816 (diff) | |
| download | rust-a439eb259da620fa95c67c0c6e89f196bcb61f08.tar.gz rust-a439eb259da620fa95c67c0c6e89f196bcb61f08.zip | |
Don't use bytepos offsets when computing semicolon span for removal
Diffstat (limited to 'compiler/rustc_infer/src')
| -rw-r--r-- | compiler/rustc_infer/src/infer/error_reporting/suggest.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/compiler/rustc_infer/src/infer/error_reporting/suggest.rs b/compiler/rustc_infer/src/infer/error_reporting/suggest.rs index 9a05fb1c30f..89c55602f22 100644 --- a/compiler/rustc_infer/src/infer/error_reporting/suggest.rs +++ b/compiler/rustc_infer/src/infer/error_reporting/suggest.rs @@ -15,7 +15,7 @@ use rustc_middle::traits::{ }; use rustc_middle::ty::print::with_no_trimmed_paths; use rustc_middle::ty::{self as ty, GenericArgKind, IsSuggestable, Ty, TypeVisitableExt}; -use rustc_span::{sym, BytePos, Span}; +use rustc_span::{sym, Span}; use crate::errors::{ ConsiderAddingAwait, FnConsiderCasting, FnItemsAreDistinct, FnUniqTypes, @@ -763,8 +763,15 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> { let mac_call = rustc_span::source_map::original_sp(last_stmt.span, blk.span); self.tcx.sess.source_map().mac_call_stmt_semi_span(mac_call)? } else { - last_stmt.span.with_lo(last_stmt.span.hi() - BytePos(1)) + self.tcx + .sess + .source_map() + .span_extend_while(last_expr.span, |c| c.is_whitespace()) + .ok()? + .shrink_to_hi() + .with_hi(last_stmt.span.hi()) }; + Some((span, needs_box)) } |
