E0517 Update error format #36109

- Fixes #36109
- Part of #35233
This commit is contained in:
Gavin Baker 2016-08-30 11:30:46 +10:00
parent d53ea97bfc
commit 8bcd6a33be
2 changed files with 7 additions and 3 deletions

View file

@ -62,8 +62,7 @@ impl<'a> CheckAttrVisitor<'a> {
None => continue,
};
let word: &str = &word.name();
let (message, label) = match word {
let (message, label) = match &*name {
"C" => {
conflicting_reprs += 1;
if target != Target::Struct &&
@ -80,7 +79,8 @@ impl<'a> CheckAttrVisitor<'a> {
// can be used to modify another repr hint
if target != Target::Struct &&
target != Target::Union {
"attribute should be applied to struct or union"
("attribute should be applied to struct or union",
"a struct or union")
} else {
continue
}

View file

@ -9,15 +9,19 @@
// except according to those terms.
#[repr(C)] //~ ERROR E0517
//~| requires a struct, enum or union
type Foo = u8;
#[repr(packed)] //~ ERROR E0517
//~| requires a struct
enum Foo2 {Bar, Baz}
#[repr(u8)] //~ ERROR E0517
//~| requires an enum
struct Foo3 {bar: bool, baz: bool}
#[repr(C)] //~ ERROR E0517
//~| requires a struct, enum or union
impl Foo3 {
}