Skip to content

Commit dbbef30

Browse files
committed
change span.hi if exists default. Diagnostic suggests adding : ?Sized in an incorrect place if a type parameter default is present
1 parent 42752cb commit dbbef30

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

compiler/rustc_trait_selection/src/traits/error_reporting/type_err_ctxt_ext.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ use rustc_hir as hir;
2626
use rustc_hir::def::{DefKind, Namespace, Res};
2727
use rustc_hir::def_id::{DefId, LocalDefId};
2828
use rustc_hir::intravisit::Visitor;
29-
use rustc_hir::{GenericParam, Item, Node};
29+
use rustc_hir::{GenericParam, GenericParamKind, Item, Node};
3030
use rustc_infer::infer::error_reporting::TypeErrCtxt;
3131
use rustc_infer::infer::{InferOk, TypeTrace};
3232
use rustc_middle::traits::select::OverflowError;
@@ -2993,7 +2993,16 @@ impl<'tcx> InferCtxtPrivExt<'tcx> for TypeErrCtxt<'_, 'tcx> {
29932993
{
29942994
(s, " +")
29952995
} else {
2996-
(span.shrink_to_hi(), ":")
2996+
(
2997+
if let GenericParamKind::Type { default: Some(default), synthetic: _ } = param.kind
2998+
{
2999+
span.data().with_hi(default.span.lo() - rustc_span::BytePos(3))
3000+
} else {
3001+
span
3002+
}
3003+
.shrink_to_hi(),
3004+
":",
3005+
)
29973006
};
29983007
err.span_suggestion_verbose(
29993008
span,

0 commit comments

Comments
 (0)