Rollup merge of #36125 - gavinb:error_msgs_p1, r=jonathandturner
Update Error format for E0164, E0165, E0184 Part of #35233 r? @jonathandturner
This commit is contained in:
commit
1d2308f2ed
6 changed files with 14 additions and 4 deletions
|
@ -324,7 +324,10 @@ fn check_arms(cx: &MatchCheckCtxt,
|
|||
let &(ref first_arm_pats, _) = &arms[0];
|
||||
let first_pat = &first_arm_pats[0];
|
||||
let span = first_pat.span;
|
||||
span_err!(cx.tcx.sess, span, E0165, "irrefutable while-let pattern");
|
||||
struct_span_err!(cx.tcx.sess, span, E0165,
|
||||
"irrefutable while-let pattern")
|
||||
.span_label(span, &format!("irrefutable pattern"))
|
||||
.emit();
|
||||
},
|
||||
|
||||
hir::MatchSource::ForLoopDesugar => {
|
||||
|
|
|
@ -574,7 +574,8 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
|
|||
tcx.sess.add_lint(lint::builtin::MATCH_OF_UNIT_VARIANT_VIA_PAREN_DOTDOT,
|
||||
pat.id, pat.span, msg);
|
||||
} else {
|
||||
span_err!(tcx.sess, pat.span, E0164, "{}", msg);
|
||||
struct_span_err!(tcx.sess, pat.span, E0164, "{}", msg)
|
||||
.span_label(pat.span, &format!("not a tuple variant or struct")).emit();
|
||||
on_error();
|
||||
}
|
||||
};
|
||||
|
|
|
@ -348,9 +348,11 @@ impl<'a, 'gcx, 'tcx> CoherenceChecker<'a, 'gcx, 'tcx> {
|
|||
.emit();
|
||||
}
|
||||
Err(CopyImplementationError::HasDestructor) => {
|
||||
span_err!(tcx.sess, span, E0184,
|
||||
struct_span_err!(tcx.sess, span, E0184,
|
||||
"the trait `Copy` may not be implemented for this type; \
|
||||
the type has a destructor");
|
||||
the type has a destructor")
|
||||
.span_label(span, &format!("Copy not allowed on types with destructors"))
|
||||
.emit();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -13,6 +13,7 @@ enum Foo { B { i: u32 } }
|
|||
fn bar(foo: Foo) -> u32 {
|
||||
match foo {
|
||||
Foo::B(i) => i, //~ ERROR E0164
|
||||
//~| NOTE not a tuple variant or struct
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ struct Irrefutable(i32);
|
|||
fn main() {
|
||||
let irr = Irrefutable(0);
|
||||
while let Irrefutable(x) = irr { //~ ERROR E0165
|
||||
//~| irrefutable pattern
|
||||
// ...
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
// except according to those terms.
|
||||
|
||||
#[derive(Copy)] //~ ERROR E0184
|
||||
//~| NOTE Copy not allowed on types with destructors
|
||||
//~| NOTE in this expansion of #[derive(Copy)]
|
||||
struct Foo;
|
||||
|
||||
impl Drop for Foo {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue