Put backticks around field names, types and paths in error messages
Added to `DispatchFromDyn` and `CoerceUnsized` error messages
This commit is contained in:
parent
6f2a161b1b
commit
b5b25f8196
|
@ -215,7 +215,7 @@ fn visit_implementation_of_dispatch_from_dyn<'a, 'tcx>(
|
|||
&format!(
|
||||
"the trait `DispatchFromDyn` may only be implemented \
|
||||
for a coercion between structures with the same \
|
||||
definition; expected {}, found {}",
|
||||
definition; expected `{}`, found `{}`",
|
||||
source_path, target_path,
|
||||
)
|
||||
).emit();
|
||||
|
@ -271,7 +271,7 @@ fn visit_implementation_of_dispatch_from_dyn<'a, 'tcx>(
|
|||
"currently, {} fields need coercions: {}",
|
||||
coerced_fields.len(),
|
||||
coerced_fields.iter().map(|field| {
|
||||
format!("{} ({} to {})",
|
||||
format!("`{}` (`{}` to `{}`)",
|
||||
field.ident,
|
||||
field.ty(tcx, substs_a),
|
||||
field.ty(tcx, substs_b),
|
||||
|
@ -398,7 +398,7 @@ pub fn coerce_unsized_info<'a, 'gcx>(gcx: TyCtxt<'a, 'gcx, 'gcx>,
|
|||
E0377,
|
||||
"the trait `CoerceUnsized` may only be implemented \
|
||||
for a coercion between structures with the same \
|
||||
definition; expected {}, found {}",
|
||||
definition; expected `{}`, found `{}`",
|
||||
source_path,
|
||||
target_path);
|
||||
return err_info;
|
||||
|
@ -503,7 +503,7 @@ pub fn coerce_unsized_info<'a, 'gcx>(gcx: TyCtxt<'a, 'gcx, 'gcx>,
|
|||
diff_fields.len(),
|
||||
diff_fields.iter()
|
||||
.map(|&(i, a, b)| {
|
||||
format!("{} ({} to {})", fields[i].ident, a, b)
|
||||
format!("`{}` (`{}` to `{}`)", fields[i].ident, a, b)
|
||||
})
|
||||
.collect::<Vec<_>>()
|
||||
.join(", ")));
|
||||
|
|
|
@ -5,7 +5,7 @@ LL | impl<T, U> CoerceUnsized<Foo<U, T>> for Foo<T, U> {}
|
|||
| ^^^^^^^^^^^^^^^^^^^^^^^^ requires multiple coercions
|
||||
|
|
||||
= note: `CoerceUnsized` may only be implemented for a coercion between structures with one field being coerced
|
||||
= note: currently, 2 fields need coercions: b (T to U), c (U to T)
|
||||
= note: currently, 2 fields need coercions: `b` (`T` to `U`), `c` (`U` to `T`)
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ LL | | {} //~^^^ ERROR [E0378]
|
|||
| |__^
|
||||
|
|
||||
= note: the trait `DispatchFromDyn` may only be implemented for a coercion between structures with a single field being coerced
|
||||
= note: currently, 2 fields need coercions: ptr1 (*const T to *const U), ptr2 (*const T to *const U)
|
||||
= note: currently, 2 fields need coercions: `ptr1` (`*const T` to `*const U`), `ptr2` (`*const T` to `*const U`)
|
||||
|
||||
error[E0378]: the trait `DispatchFromDyn` may only be implemented for a coercion between structures with a single field being coerced, none found
|
||||
--> $DIR/invalid_dispatch_from_dyn_impls.rs:41:1
|
||||
|
|
|
@ -5,7 +5,7 @@ LL | impl<T: ?Sized + Unsize<U>, U: ?Sized> CoerceUnsized<MyRc<U>> for MyRc<T>{
|
|||
| ^^^^^^^^^^^^^^^^^^^^^^ requires multiple coercions
|
||||
|
|
||||
= note: `CoerceUnsized` may only be implemented for a coercion between structures with one field being coerced
|
||||
= note: currently, 2 fields need coercions: _ptr (*const T to *const U), _boo (NotPhantomData<T> to NotPhantomData<U>)
|
||||
= note: currently, 2 fields need coercions: `_ptr` (`*const T` to `*const U`), `_boo` (`NotPhantomData<T>` to `NotPhantomData<U>`)
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
Loading…
Reference in New Issue