remove redundant clones
This commit is contained in:
parent
2816486986
commit
1077d574cf
2 changed files with 12 additions and 11 deletions
|
@ -570,15 +570,13 @@ impl<'a> Parser<'a> {
|
||||||
let expect = tokens_to_string(&expected);
|
let expect = tokens_to_string(&expected);
|
||||||
let actual = super::token_descr(&self.token);
|
let actual = super::token_descr(&self.token);
|
||||||
let (msg_exp, (label_sp, label_exp)) = if expected.len() > 1 {
|
let (msg_exp, (label_sp, label_exp)) = if expected.len() > 1 {
|
||||||
|
let fmt = format!("expected one of {expect}, found {actual}");
|
||||||
let short_expect = if expected.len() > 6 {
|
let short_expect = if expected.len() > 6 {
|
||||||
format!("{} possible tokens", expected.len())
|
format!("{} possible tokens", expected.len())
|
||||||
} else {
|
} else {
|
||||||
expect.clone()
|
expect
|
||||||
};
|
};
|
||||||
(
|
(fmt, (self.prev_token.span.shrink_to_hi(), format!("expected one of {short_expect}")))
|
||||||
format!("expected one of {expect}, found {actual}"),
|
|
||||||
(self.prev_token.span.shrink_to_hi(), format!("expected one of {short_expect}")),
|
|
||||||
)
|
|
||||||
} else if expected.is_empty() {
|
} else if expected.is_empty() {
|
||||||
(
|
(
|
||||||
format!("unexpected token: {actual}"),
|
format!("unexpected token: {actual}"),
|
||||||
|
|
|
@ -2944,22 +2944,25 @@ impl<'tcx> InferCtxtPrivExt<'tcx> for TypeErrCtxt<'_, 'tcx> {
|
||||||
rustc_transmute::Answer::No(reason) => {
|
rustc_transmute::Answer::No(reason) => {
|
||||||
let dst = trait_ref.skip_binder().substs.type_at(0);
|
let dst = trait_ref.skip_binder().substs.type_at(0);
|
||||||
let src = trait_ref.skip_binder().substs.type_at(1);
|
let src = trait_ref.skip_binder().substs.type_at(1);
|
||||||
let custom_err_msg = format!("`{src}` cannot be safely transmuted into `{dst}` in the defining scope of `{scope}`").to_string();
|
let custom_err_msg = format!(
|
||||||
|
"`{src}` cannot be safely transmuted into `{dst}` in the defining scope of `{scope}`"
|
||||||
|
);
|
||||||
let reason_msg = match reason {
|
let reason_msg = match reason {
|
||||||
rustc_transmute::Reason::SrcIsUnspecified => {
|
rustc_transmute::Reason::SrcIsUnspecified => {
|
||||||
format!("`{src}` does not have a well-specified layout").to_string()
|
format!("`{src}` does not have a well-specified layout")
|
||||||
}
|
}
|
||||||
|
|
||||||
rustc_transmute::Reason::DstIsUnspecified => {
|
rustc_transmute::Reason::DstIsUnspecified => {
|
||||||
format!("`{dst}` does not have a well-specified layout").to_string()
|
format!("`{dst}` does not have a well-specified layout")
|
||||||
}
|
}
|
||||||
|
|
||||||
rustc_transmute::Reason::DstIsBitIncompatible => {
|
rustc_transmute::Reason::DstIsBitIncompatible => {
|
||||||
format!("At least one value of `{src}` isn't a bit-valid value of `{dst}`")
|
format!("At least one value of `{src}` isn't a bit-valid value of `{dst}`")
|
||||||
.to_string()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rustc_transmute::Reason::DstIsPrivate => format!(
|
rustc_transmute::Reason::DstIsPrivate => format!(
|
||||||
"`{dst}` is or contains a type or field that is not visible in that scope"
|
"`{dst}` is or contains a type or field that is not visible in that scope"
|
||||||
)
|
),
|
||||||
.to_string(),
|
|
||||||
// FIXME(bryangarza): Include the number of bytes of src and dst
|
// FIXME(bryangarza): Include the number of bytes of src and dst
|
||||||
rustc_transmute::Reason::DstIsTooBig => {
|
rustc_transmute::Reason::DstIsTooBig => {
|
||||||
format!("The size of `{src}` is smaller than the size of `{dst}`")
|
format!("The size of `{src}` is smaller than the size of `{dst}`")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue