diff options
| author | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2022-02-09 17:39:28 +0000 |
|---|---|---|
| committer | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2022-03-28 16:31:52 +0000 |
| commit | 3136bfef9319a40c95efc38409ad3e57d40882dd (patch) | |
| tree | 08e811fb648b2142dc8795789624a335cc5ba17d /compiler | |
| parent | d5b6510bfb8484a964428fe44e2a66eebb15e66e (diff) | |
| download | rust-3136bfef9319a40c95efc38409ad3e57d40882dd.tar.gz rust-3136bfef9319a40c95efc38409ad3e57d40882dd.zip | |
Special case the situation where the previous span is the same as the new one
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_typeck/src/collect/type_of.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/rustc_typeck/src/collect/type_of.rs b/compiler/rustc_typeck/src/collect/type_of.rs index 4e1edd17194..95d1b6a15f5 100644 --- a/compiler/rustc_typeck/src/collect/type_of.rs +++ b/compiler/rustc_typeck/src/collect/type_of.rs @@ -610,7 +610,11 @@ fn find_opaque_ty_constraints(tcx: TyCtxt<'_>, def_id: LocalDefId) -> Ty<'_> { concrete_type.span, format!("expected `{}`, got `{}`", prev.ty, concrete_type.ty), ); - err.span_note(prev.span, "previous use here"); + if prev.span == concrete_type.span { + err.span_label(prev.span, "this expression supplies two conflicting concrete types for the same opaque type"); + } else { + err.span_note(prev.span, "previous use here"); + } err.emit(); } } else { |
