Add more
This commit is contained in:
parent
b97ff8eb16
commit
f6c30b3a54
@ -23,7 +23,7 @@ pub(super) fn check_item(tcx: TyCtxt<'_>, def_id: LocalDefId) {
|
|||||||
tcx.def_span(def_id),
|
tcx.def_span(def_id),
|
||||||
E0199,
|
E0199,
|
||||||
"implementing the trait `{}` is not unsafe",
|
"implementing the trait `{}` is not unsafe",
|
||||||
trait_ref.print_only_trait_path()
|
trait_ref.print_trait_sugared()
|
||||||
)
|
)
|
||||||
.span_suggestion_verbose(
|
.span_suggestion_verbose(
|
||||||
item.span.with_hi(item.span.lo() + rustc_span::BytePos(7)),
|
item.span.with_hi(item.span.lo() + rustc_span::BytePos(7)),
|
||||||
@ -40,13 +40,13 @@ pub(super) fn check_item(tcx: TyCtxt<'_>, def_id: LocalDefId) {
|
|||||||
tcx.def_span(def_id),
|
tcx.def_span(def_id),
|
||||||
E0200,
|
E0200,
|
||||||
"the trait `{}` requires an `unsafe impl` declaration",
|
"the trait `{}` requires an `unsafe impl` declaration",
|
||||||
trait_ref.print_only_trait_path()
|
trait_ref.print_trait_sugared()
|
||||||
)
|
)
|
||||||
.note(format!(
|
.note(format!(
|
||||||
"the trait `{}` enforces invariants that the compiler can't check. \
|
"the trait `{}` enforces invariants that the compiler can't check. \
|
||||||
Review the trait documentation and make sure this implementation \
|
Review the trait documentation and make sure this implementation \
|
||||||
upholds those invariants before adding the `unsafe` keyword",
|
upholds those invariants before adding the `unsafe` keyword",
|
||||||
trait_ref.print_only_trait_path()
|
trait_ref.print_trait_sugared()
|
||||||
))
|
))
|
||||||
.span_suggestion_verbose(
|
.span_suggestion_verbose(
|
||||||
item.span.shrink_to_lo(),
|
item.span.shrink_to_lo(),
|
||||||
@ -69,7 +69,7 @@ pub(super) fn check_item(tcx: TyCtxt<'_>, def_id: LocalDefId) {
|
|||||||
"the trait `{}` enforces invariants that the compiler can't check. \
|
"the trait `{}` enforces invariants that the compiler can't check. \
|
||||||
Review the trait documentation and make sure this implementation \
|
Review the trait documentation and make sure this implementation \
|
||||||
upholds those invariants before adding the `unsafe` keyword",
|
upholds those invariants before adding the `unsafe` keyword",
|
||||||
trait_ref.print_only_trait_path()
|
trait_ref.print_trait_sugared()
|
||||||
))
|
))
|
||||||
.span_suggestion_verbose(
|
.span_suggestion_verbose(
|
||||||
item.span.shrink_to_lo(),
|
item.span.shrink_to_lo(),
|
||||||
|
@ -2299,7 +2299,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||||||
let msg = if preds.len() == 1 {
|
let msg = if preds.len() == 1 {
|
||||||
format!(
|
format!(
|
||||||
"an implementation of `{}` might be missing for `{}`",
|
"an implementation of `{}` might be missing for `{}`",
|
||||||
preds[0].trait_ref.print_only_trait_path(),
|
preds[0].trait_ref.print_trait_sugared(),
|
||||||
preds[0].self_ty()
|
preds[0].self_ty()
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
|
@ -245,7 +245,7 @@ fn overlap<'tcx>(
|
|||||||
let trait_ref = infcx.resolve_vars_if_possible(trait_ref);
|
let trait_ref = infcx.resolve_vars_if_possible(trait_ref);
|
||||||
format!(
|
format!(
|
||||||
"of `{}` for `{}`",
|
"of `{}` for `{}`",
|
||||||
trait_ref.print_only_trait_path(),
|
trait_ref.print_trait_sugared(),
|
||||||
trait_ref.self_ty()
|
trait_ref.self_ty()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -1854,7 +1854,7 @@ impl<'tcx> InferCtxtPrivExt<'tcx> for TypeErrCtxt<'_, 'tcx> {
|
|||||||
let end = if candidates.len() <= 9 { candidates.len() } else { 8 };
|
let end = if candidates.len() <= 9 { candidates.len() } else { 8 };
|
||||||
err.help(format!(
|
err.help(format!(
|
||||||
"the following {other}types implement trait `{}`:{}{}",
|
"the following {other}types implement trait `{}`:{}{}",
|
||||||
trait_ref.print_only_trait_path(),
|
trait_ref.print_trait_sugared(),
|
||||||
candidates[..end].join(""),
|
candidates[..end].join(""),
|
||||||
if candidates.len() > 9 {
|
if candidates.len() > 9 {
|
||||||
format!("\nand {} others", candidates.len() - 8)
|
format!("\nand {} others", candidates.len() - 8)
|
||||||
|
@ -78,7 +78,7 @@ impl<'tcx> IntercrateAmbiguityCause<'tcx> {
|
|||||||
IntercrateAmbiguityCause::DownstreamCrate { trait_ref, self_ty } => {
|
IntercrateAmbiguityCause::DownstreamCrate { trait_ref, self_ty } => {
|
||||||
format!(
|
format!(
|
||||||
"downstream crates may implement trait `{trait_desc}`{self_desc}",
|
"downstream crates may implement trait `{trait_desc}`{self_desc}",
|
||||||
trait_desc = trait_ref.print_only_trait_path(),
|
trait_desc = trait_ref.print_trait_sugared(),
|
||||||
self_desc = if let Some(self_ty) = self_ty {
|
self_desc = if let Some(self_ty) = self_ty {
|
||||||
format!(" for type `{self_ty}`")
|
format!(" for type `{self_ty}`")
|
||||||
} else {
|
} else {
|
||||||
@ -90,7 +90,7 @@ impl<'tcx> IntercrateAmbiguityCause<'tcx> {
|
|||||||
format!(
|
format!(
|
||||||
"upstream crates may add a new impl of trait `{trait_desc}`{self_desc} \
|
"upstream crates may add a new impl of trait `{trait_desc}`{self_desc} \
|
||||||
in future versions",
|
in future versions",
|
||||||
trait_desc = trait_ref.print_only_trait_path(),
|
trait_desc = trait_ref.print_trait_sugared(),
|
||||||
self_desc = if let Some(self_ty) = self_ty {
|
self_desc = if let Some(self_ty) = self_ty {
|
||||||
format!(" for type `{self_ty}`")
|
format!(" for type `{self_ty}`")
|
||||||
} else {
|
} else {
|
||||||
|
@ -412,7 +412,7 @@ fn report_conflicting_impls<'tcx>(
|
|||||||
let msg = DelayDm(|| {
|
let msg = DelayDm(|| {
|
||||||
format!(
|
format!(
|
||||||
"conflicting implementations of trait `{}`{}{}",
|
"conflicting implementations of trait `{}`{}{}",
|
||||||
overlap.trait_ref.print_only_trait_path(),
|
overlap.trait_ref.print_trait_sugared(),
|
||||||
overlap.self_ty.map_or_else(String::new, |ty| format!(" for type `{ty}`")),
|
overlap.self_ty.map_or_else(String::new, |ty| format!(" for type `{ty}`")),
|
||||||
match used_to_be_allowed {
|
match used_to_be_allowed {
|
||||||
Some(FutureCompatOverlapErrorKind::Issue33140) => ": (E0119)",
|
Some(FutureCompatOverlapErrorKind::Issue33140) => ": (E0119)",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user