Various diagnostics clean ups/tweaks
* Always point at macros, including derive macros * Point at non-local items that introduce a trait requirement * On private associated item, point at definition
This commit is contained in:
parent
c78ebb7bdc
commit
ba052bd8de
163 changed files with 1474 additions and 398 deletions
|
@ -84,8 +84,10 @@ fn report_bad_target(sess: &Session, item: &Annotatable, span: Span) -> bool {
|
|||
sess,
|
||||
span,
|
||||
E0774,
|
||||
"`derive` may only be applied to structs, enums and unions",
|
||||
"`derive` may only be applied to `struct`s, `enum`s and `union`s",
|
||||
)
|
||||
.span_label(span, "not applicable here")
|
||||
.span_label(item.span(), "not a `struct`, `enum` or `union`")
|
||||
.emit();
|
||||
}
|
||||
bad_target
|
||||
|
@ -99,6 +101,7 @@ fn report_unexpected_literal(sess: &Session, lit: &ast::Lit) {
|
|||
_ => "for example, write `#[derive(Debug)]` for `Debug`".to_string(),
|
||||
};
|
||||
struct_span_err!(sess, lit.span, E0777, "expected path to a trait, found literal",)
|
||||
.span_label(lit.span, "not a trait")
|
||||
.help(&help_msg)
|
||||
.emit();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue