diff --git a/test_suite/tests/compile-fail/borrow/bad_lifetimes.rs b/test_suite/tests/compile-fail/borrow/bad_lifetimes.rs index f2ab9de0..174998cd 100644 --- a/test_suite/tests/compile-fail/borrow/bad_lifetimes.rs +++ b/test_suite/tests/compile-fail/borrow/bad_lifetimes.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: failed to parse borrowed lifetimes: "zzz" +#[derive(Deserialize)] struct Test<'a> { #[serde(borrow = "zzz")] + //~^^^ ERROR: failed to parse borrowed lifetimes: "zzz" s: &'a str, } diff --git a/test_suite/tests/compile-fail/borrow/duplicate_lifetime.rs b/test_suite/tests/compile-fail/borrow/duplicate_lifetime.rs index e575e070..b32160a6 100644 --- a/test_suite/tests/compile-fail/borrow/duplicate_lifetime.rs +++ b/test_suite/tests/compile-fail/borrow/duplicate_lifetime.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: duplicate borrowed lifetime `'a` +#[derive(Deserialize)] struct Test<'a> { #[serde(borrow = "'a + 'a")] + //~^^^ ERROR: duplicate borrowed lifetime `'a` s: &'a str, } diff --git a/test_suite/tests/compile-fail/borrow/duplicate_variant.rs b/test_suite/tests/compile-fail/borrow/duplicate_variant.rs index 07e28667..a501caf1 100644 --- a/test_suite/tests/compile-fail/borrow/duplicate_variant.rs +++ b/test_suite/tests/compile-fail/borrow/duplicate_variant.rs @@ -12,9 +12,10 @@ extern crate serde_derive; #[derive(Deserialize)] struct Str<'a>(&'a str); -#[derive(Deserialize)] //~ ERROR: 15:10: 15:21: duplicate serde attribute `borrow` +#[derive(Deserialize)] enum Test<'a> { #[serde(borrow)] + //~^^^ ERROR: duplicate serde attribute `borrow` S(#[serde(borrow)] Str<'a>) } diff --git a/test_suite/tests/compile-fail/borrow/empty_lifetimes.rs b/test_suite/tests/compile-fail/borrow/empty_lifetimes.rs index a18c5177..a19028da 100644 --- a/test_suite/tests/compile-fail/borrow/empty_lifetimes.rs +++ b/test_suite/tests/compile-fail/borrow/empty_lifetimes.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: at least one lifetime must be borrowed +#[derive(Deserialize)] struct Test<'a> { #[serde(borrow = "")] + //~^^^ ERROR: at least one lifetime must be borrowed s: &'a str, } diff --git a/test_suite/tests/compile-fail/borrow/no_lifetimes.rs b/test_suite/tests/compile-fail/borrow/no_lifetimes.rs index ee9d5fcd..b883997c 100644 --- a/test_suite/tests/compile-fail/borrow/no_lifetimes.rs +++ b/test_suite/tests/compile-fail/borrow/no_lifetimes.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: field `s` has no lifetimes to borrow +#[derive(Deserialize)] struct Test { #[serde(borrow)] + //~^^^ ERROR: field `s` has no lifetimes to borrow s: String, } diff --git a/test_suite/tests/compile-fail/borrow/struct_variant.rs b/test_suite/tests/compile-fail/borrow/struct_variant.rs index b4827dec..d7341f2c 100644 --- a/test_suite/tests/compile-fail/borrow/struct_variant.rs +++ b/test_suite/tests/compile-fail/borrow/struct_variant.rs @@ -12,9 +12,10 @@ extern crate serde_derive; #[derive(Deserialize)] struct Str<'a>(&'a str); -#[derive(Deserialize)] //~ ERROR: 15:10: 15:21: #[serde(borrow)] may only be used on newtype variants +#[derive(Deserialize)] enum Test<'a> { #[serde(borrow)] + //~^^^ ERROR: #[serde(borrow)] may only be used on newtype variants S { s: Str<'a> } } diff --git a/test_suite/tests/compile-fail/borrow/wrong_lifetime.rs b/test_suite/tests/compile-fail/borrow/wrong_lifetime.rs index a42e90c4..42144953 100644 --- a/test_suite/tests/compile-fail/borrow/wrong_lifetime.rs +++ b/test_suite/tests/compile-fail/borrow/wrong_lifetime.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: field `s` does not have lifetime 'b +#[derive(Deserialize)] struct Test<'a> { #[serde(borrow = "'b")] + //~^^^ ERROR: field `s` does not have lifetime 'b s: &'a str, } diff --git a/test_suite/tests/compile-fail/conflict/adjacent-tag.rs b/test_suite/tests/compile-fail/conflict/adjacent-tag.rs index c8c6fea1..e4d308c6 100644 --- a/test_suite/tests/compile-fail/conflict/adjacent-tag.rs +++ b/test_suite/tests/compile-fail/conflict/adjacent-tag.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: enum tags `conflict` for type and content conflict with each other +#[derive(Serialize)] #[serde(tag = "conflict", content = "conflict")] +//~^^ ERROR: enum tags `conflict` for type and content conflict with each other enum E { A, B, diff --git a/test_suite/tests/compile-fail/conflict/flatten-newtype-struct.rs b/test_suite/tests/compile-fail/conflict/flatten-newtype-struct.rs index bd5089ab..46fdf691 100644 --- a/test_suite/tests/compile-fail/conflict/flatten-newtype-struct.rs +++ b/test_suite/tests/compile-fail/conflict/flatten-newtype-struct.rs @@ -9,7 +9,8 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: #[serde(flatten)] cannot be used on newtype structs +#[derive(Serialize)] struct Foo(#[serde(flatten)] HashMap); +//~^^ ERROR: #[serde(flatten)] cannot be used on newtype structs fn main() {} diff --git a/test_suite/tests/compile-fail/conflict/flatten-skip-deserializing.rs b/test_suite/tests/compile-fail/conflict/flatten-skip-deserializing.rs index 0b10ea53..f2e1482d 100644 --- a/test_suite/tests/compile-fail/conflict/flatten-skip-deserializing.rs +++ b/test_suite/tests/compile-fail/conflict/flatten-skip-deserializing.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: #[serde(flatten] can not be combined with #[serde(skip_deserializing)] +#[derive(Deserialize)] struct Foo { #[serde(flatten, skip_deserializing)] + //~^^^ ERROR: #[serde(flatten] can not be combined with #[serde(skip_deserializing)] other: Other, } diff --git a/test_suite/tests/compile-fail/conflict/flatten-skip-serializing-if.rs b/test_suite/tests/compile-fail/conflict/flatten-skip-serializing-if.rs index 273902e4..addf2c17 100644 --- a/test_suite/tests/compile-fail/conflict/flatten-skip-serializing-if.rs +++ b/test_suite/tests/compile-fail/conflict/flatten-skip-serializing-if.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: #[serde(flatten] can not be combined with #[serde(skip_serializing_if = "...")] +#[derive(Serialize)] struct Foo { #[serde(flatten, skip_serializing_if="Option::is_none")] + //~^^^ ERROR: #[serde(flatten] can not be combined with #[serde(skip_serializing_if = "...")] other: Option, } diff --git a/test_suite/tests/compile-fail/conflict/flatten-skip-serializing.rs b/test_suite/tests/compile-fail/conflict/flatten-skip-serializing.rs index ba6ae7a7..5d6ba69a 100644 --- a/test_suite/tests/compile-fail/conflict/flatten-skip-serializing.rs +++ b/test_suite/tests/compile-fail/conflict/flatten-skip-serializing.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: #[serde(flatten] can not be combined with #[serde(skip_serializing)] +#[derive(Serialize)] struct Foo { #[serde(flatten, skip_serializing)] + //~^^^ ERROR: #[serde(flatten] can not be combined with #[serde(skip_serializing)] other: Other, } diff --git a/test_suite/tests/compile-fail/conflict/flatten-tuple-struct.rs b/test_suite/tests/compile-fail/conflict/flatten-tuple-struct.rs index 311ea37d..392139be 100644 --- a/test_suite/tests/compile-fail/conflict/flatten-tuple-struct.rs +++ b/test_suite/tests/compile-fail/conflict/flatten-tuple-struct.rs @@ -9,7 +9,8 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: #[serde(flatten)] cannot be used on tuple structs +#[derive(Serialize)] struct Foo(u32, #[serde(flatten)] HashMap); +//~^^ ERROR: #[serde(flatten)] cannot be used on tuple structs fn main() {} diff --git a/test_suite/tests/compile-fail/conflict/internal-tag.rs b/test_suite/tests/compile-fail/conflict/internal-tag.rs index 75941922..2b95d19a 100644 --- a/test_suite/tests/compile-fail/conflict/internal-tag.rs +++ b/test_suite/tests/compile-fail/conflict/internal-tag.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: variant field name `conflict` conflicts with internal tag +#[derive(Serialize)] #[serde(tag = "conflict")] +//~^^ ERROR: variant field name `conflict` conflicts with internal tag enum E { A { #[serde(rename = "conflict")] diff --git a/test_suite/tests/compile-fail/default-attribute/enum.rs b/test_suite/tests/compile-fail/default-attribute/enum.rs index 989519a0..d05bbd48 100644 --- a/test_suite/tests/compile-fail/default-attribute/enum.rs +++ b/test_suite/tests/compile-fail/default-attribute/enum.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: #[serde(default)] can only be used on structs with named fields +#[derive(Deserialize)] #[serde(default)] +//~^^ ERROR: #[serde(default)] can only be used on structs enum E { S { f: u8 }, } diff --git a/test_suite/tests/compile-fail/default-attribute/nameless_struct_fields.rs b/test_suite/tests/compile-fail/default-attribute/nameless_struct_fields.rs index cff48b5c..01ac28e7 100644 --- a/test_suite/tests/compile-fail/default-attribute/nameless_struct_fields.rs +++ b/test_suite/tests/compile-fail/default-attribute/nameless_struct_fields.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: #[serde(default)] can only be used on structs with named fields +#[derive(Deserialize)] #[serde(default)] +//~^^ ERROR: #[serde(default)] can only be used on structs struct T(u8, u8); fn main() { } diff --git a/test_suite/tests/compile-fail/duplicate-attribute/rename-and-ser.rs b/test_suite/tests/compile-fail/duplicate-attribute/rename-and-ser.rs index ac34d5cb..ac73fd62 100644 --- a/test_suite/tests/compile-fail/duplicate-attribute/rename-and-ser.rs +++ b/test_suite/tests/compile-fail/duplicate-attribute/rename-and-ser.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: unknown serde field attribute `serialize` +#[derive(Serialize)] struct S { #[serde(rename="x", serialize="y")] + //~^^^ ERROR: unknown serde field attribute `serialize` x: (), } diff --git a/test_suite/tests/compile-fail/duplicate-attribute/rename-rename-de.rs b/test_suite/tests/compile-fail/duplicate-attribute/rename-rename-de.rs index 039b46ca..ffd31bc1 100644 --- a/test_suite/tests/compile-fail/duplicate-attribute/rename-rename-de.rs +++ b/test_suite/tests/compile-fail/duplicate-attribute/rename-rename-de.rs @@ -9,10 +9,11 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: duplicate serde attribute `rename` +#[derive(Serialize)] struct S { #[serde(rename="x")] #[serde(rename(deserialize="y"))] + //~^^^^ ERROR: duplicate serde attribute `rename` x: (), } diff --git a/test_suite/tests/compile-fail/duplicate-attribute/rename-ser-rename-ser.rs b/test_suite/tests/compile-fail/duplicate-attribute/rename-ser-rename-ser.rs index 08efbe5f..e03d2896 100644 --- a/test_suite/tests/compile-fail/duplicate-attribute/rename-ser-rename-ser.rs +++ b/test_suite/tests/compile-fail/duplicate-attribute/rename-ser-rename-ser.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: duplicate serde attribute `rename` +#[derive(Serialize)] struct S { #[serde(rename(serialize="x"), rename(serialize="y"))] + //~^^^ ERROR: duplicate serde attribute `rename` x: (), } diff --git a/test_suite/tests/compile-fail/duplicate-attribute/rename-ser-rename.rs b/test_suite/tests/compile-fail/duplicate-attribute/rename-ser-rename.rs index 9e4b32d7..e6b5fb15 100644 --- a/test_suite/tests/compile-fail/duplicate-attribute/rename-ser-rename.rs +++ b/test_suite/tests/compile-fail/duplicate-attribute/rename-ser-rename.rs @@ -9,10 +9,11 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: duplicate serde attribute `rename` +#[derive(Serialize)] struct S { #[serde(rename(serialize="x"))] #[serde(rename="y")] + //~^^^^ ERROR: duplicate serde attribute `rename` x: (), } diff --git a/test_suite/tests/compile-fail/duplicate-attribute/rename-ser-ser.rs b/test_suite/tests/compile-fail/duplicate-attribute/rename-ser-ser.rs index 57d595d1..a4790e16 100644 --- a/test_suite/tests/compile-fail/duplicate-attribute/rename-ser-ser.rs +++ b/test_suite/tests/compile-fail/duplicate-attribute/rename-ser-ser.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: duplicate serde attribute `rename` +#[derive(Serialize)] struct S { #[serde(rename(serialize="x", serialize="y"))] + //~^^^ ERROR: duplicate serde attribute `rename` x: (), } diff --git a/test_suite/tests/compile-fail/duplicate-attribute/two-rename-ser.rs b/test_suite/tests/compile-fail/duplicate-attribute/two-rename-ser.rs index 313877b3..0585211b 100644 --- a/test_suite/tests/compile-fail/duplicate-attribute/two-rename-ser.rs +++ b/test_suite/tests/compile-fail/duplicate-attribute/two-rename-ser.rs @@ -9,10 +9,11 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: duplicate serde attribute `rename` +#[derive(Serialize)] struct S { #[serde(rename(serialize="x"))] #[serde(rename(serialize="y"))] + //~^^^^ ERROR: duplicate serde attribute `rename` x: (), } diff --git a/test_suite/tests/compile-fail/duplicate-attribute/with-and-serialize-with.rs b/test_suite/tests/compile-fail/duplicate-attribute/with-and-serialize-with.rs index a6fe4f64..c128ef10 100644 --- a/test_suite/tests/compile-fail/duplicate-attribute/with-and-serialize-with.rs +++ b/test_suite/tests/compile-fail/duplicate-attribute/with-and-serialize-with.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: duplicate serde attribute `serialize_with` +#[derive(Serialize)] struct S { #[serde(with = "w", serialize_with = "s")] + //~^^^ ERROR: duplicate serde attribute `serialize_with` x: (), } diff --git a/test_suite/tests/compile-fail/enum-representation/internal-tuple-variant.rs b/test_suite/tests/compile-fail/enum-representation/internal-tuple-variant.rs index 45b4f3d5..eb778633 100644 --- a/test_suite/tests/compile-fail/enum-representation/internal-tuple-variant.rs +++ b/test_suite/tests/compile-fail/enum-representation/internal-tuple-variant.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: #[serde(tag = "...")] cannot be used with tuple variants +#[derive(Serialize)] #[serde(tag = "type")] +//~^^ ERROR: #[serde(tag = "...")] cannot be used with tuple variants enum E { Tuple(u8, u8), } diff --git a/test_suite/tests/compile-fail/enum-representation/internally-tagged-struct.rs b/test_suite/tests/compile-fail/enum-representation/internally-tagged-struct.rs index f88a4683..e9660e1b 100644 --- a/test_suite/tests/compile-fail/enum-representation/internally-tagged-struct.rs +++ b/test_suite/tests/compile-fail/enum-representation/internally-tagged-struct.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: #[serde(tag = "...")] can only be used on enums +#[derive(Serialize)] #[serde(tag = "type")] +//~^^ ERROR: #[serde(tag = "...")] can only be used on enums struct S; fn main() {} diff --git a/test_suite/tests/compile-fail/enum-representation/untagged-and-internal.rs b/test_suite/tests/compile-fail/enum-representation/untagged-and-internal.rs index c7d41992..b272c0b7 100644 --- a/test_suite/tests/compile-fail/enum-representation/untagged-and-internal.rs +++ b/test_suite/tests/compile-fail/enum-representation/untagged-and-internal.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: enum cannot be both untagged and internally tagged +#[derive(Serialize)] #[serde(untagged)] #[serde(tag = "type")] +//~^^^ ERROR: enum cannot be both untagged and internally tagged enum E { A(u8), B(String), diff --git a/test_suite/tests/compile-fail/enum-representation/untagged-struct.rs b/test_suite/tests/compile-fail/enum-representation/untagged-struct.rs index 784d0691..6a7dd3e2 100644 --- a/test_suite/tests/compile-fail/enum-representation/untagged-struct.rs +++ b/test_suite/tests/compile-fail/enum-representation/untagged-struct.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: #[serde(untagged)] can only be used on enums +#[derive(Serialize)] #[serde(untagged)] +//~^^ ERROR: #[serde(untagged)] can only be used on enums struct S; fn main() {} diff --git a/test_suite/tests/compile-fail/identifier/both.rs b/test_suite/tests/compile-fail/identifier/both.rs index c7b75f84..c6fda3d6 100644 --- a/test_suite/tests/compile-fail/identifier/both.rs +++ b/test_suite/tests/compile-fail/identifier/both.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: `field_identifier` and `variant_identifier` cannot both be set +#[derive(Deserialize)] #[serde(field_identifier, variant_identifier)] +//~^^ ERROR: `field_identifier` and `variant_identifier` cannot both be set enum F { A, B, diff --git a/test_suite/tests/compile-fail/identifier/field_struct.rs b/test_suite/tests/compile-fail/identifier/field_struct.rs index dddcf170..e6a8dc37 100644 --- a/test_suite/tests/compile-fail/identifier/field_struct.rs +++ b/test_suite/tests/compile-fail/identifier/field_struct.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: `field_identifier` can only be used on an enum +#[derive(Deserialize)] #[serde(field_identifier)] +//~^^ ERROR: `field_identifier` can only be used on an enum struct S; fn main() {} diff --git a/test_suite/tests/compile-fail/identifier/field_tuple.rs b/test_suite/tests/compile-fail/identifier/field_tuple.rs index b55925a7..e1dc5343 100644 --- a/test_suite/tests/compile-fail/identifier/field_tuple.rs +++ b/test_suite/tests/compile-fail/identifier/field_tuple.rs @@ -9,11 +9,12 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: field_identifier may only contain unit variants +#[derive(Deserialize)] #[serde(field_identifier)] enum F { A, B(u8, u8), + //~^^^^^ ERROR: field_identifier may only contain unit variants } fn main() {} diff --git a/test_suite/tests/compile-fail/identifier/newtype_not_last.rs b/test_suite/tests/compile-fail/identifier/newtype_not_last.rs index 71d8ac3e..f9c1f470 100644 --- a/test_suite/tests/compile-fail/identifier/newtype_not_last.rs +++ b/test_suite/tests/compile-fail/identifier/newtype_not_last.rs @@ -9,11 +9,12 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: `Other` must be the last variant +#[derive(Deserialize)] #[serde(field_identifier)] enum F { A, Other(String), + //~^^^^^ ERROR: `Other` must be the last variant B, } diff --git a/test_suite/tests/compile-fail/identifier/not_identifier.rs b/test_suite/tests/compile-fail/identifier/not_identifier.rs index 3bc96175..7a240d53 100644 --- a/test_suite/tests/compile-fail/identifier/not_identifier.rs +++ b/test_suite/tests/compile-fail/identifier/not_identifier.rs @@ -9,10 +9,11 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: #[serde(other)] may only be used inside a field_identifier +#[derive(Deserialize)] enum F { A, #[serde(other)] + //~^^^^ ERROR: #[serde(other)] may only be used inside a field_identifier B, } diff --git a/test_suite/tests/compile-fail/identifier/not_unit.rs b/test_suite/tests/compile-fail/identifier/not_unit.rs index e94a0592..a80d8bf2 100644 --- a/test_suite/tests/compile-fail/identifier/not_unit.rs +++ b/test_suite/tests/compile-fail/identifier/not_unit.rs @@ -9,11 +9,12 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: #[serde(other)] must be on a unit variant +#[derive(Deserialize)] #[serde(field_identifier)] enum F { A, #[serde(other)] + //~^^^^^ ERROR: #[serde(other)] must be on a unit variant Other(u8, u8), } diff --git a/test_suite/tests/compile-fail/identifier/other_not_last.rs b/test_suite/tests/compile-fail/identifier/other_not_last.rs index 31e2675b..b8c81432 100644 --- a/test_suite/tests/compile-fail/identifier/other_not_last.rs +++ b/test_suite/tests/compile-fail/identifier/other_not_last.rs @@ -9,11 +9,12 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: #[serde(other)] must be the last variant +#[derive(Deserialize)] #[serde(field_identifier)] enum F { A, #[serde(other)] + //~^^^^^ ERROR: #[serde(other)] must be the last variant Other, B, } diff --git a/test_suite/tests/compile-fail/identifier/serialize.rs b/test_suite/tests/compile-fail/identifier/serialize.rs index 33e7eb75..111f8875 100644 --- a/test_suite/tests/compile-fail/identifier/serialize.rs +++ b/test_suite/tests/compile-fail/identifier/serialize.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: field identifiers cannot be serialized +#[derive(Serialize)] #[serde(field_identifier)] +//~^^ ERROR: field identifiers cannot be serialized enum F { A, B, diff --git a/test_suite/tests/compile-fail/identifier/variant_struct.rs b/test_suite/tests/compile-fail/identifier/variant_struct.rs index b14edebd..fdb7484f 100644 --- a/test_suite/tests/compile-fail/identifier/variant_struct.rs +++ b/test_suite/tests/compile-fail/identifier/variant_struct.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: `variant_identifier` can only be used on an enum +#[derive(Deserialize)] #[serde(variant_identifier)] +//~^^ ERROR: `variant_identifier` can only be used on an enum struct S; fn main() {} diff --git a/test_suite/tests/compile-fail/identifier/variant_tuple.rs b/test_suite/tests/compile-fail/identifier/variant_tuple.rs index 597df172..a5c708b2 100644 --- a/test_suite/tests/compile-fail/identifier/variant_tuple.rs +++ b/test_suite/tests/compile-fail/identifier/variant_tuple.rs @@ -9,11 +9,12 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: variant_identifier may only contain unit variants +#[derive(Deserialize)] #[serde(variant_identifier)] enum F { A, B(u8, u8), + //~^^^^^ ERROR: variant_identifier may only contain unit variants } fn main() {} diff --git a/test_suite/tests/compile-fail/precondition/deserialize_de_lifetime.rs b/test_suite/tests/compile-fail/precondition/deserialize_de_lifetime.rs index 19ecdbaa..90d6aa6b 100644 --- a/test_suite/tests/compile-fail/precondition/deserialize_de_lifetime.rs +++ b/test_suite/tests/compile-fail/precondition/deserialize_de_lifetime.rs @@ -9,7 +9,8 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: cannot deserialize when there is a lifetime parameter called 'de +#[derive(Deserialize)] struct S<'de> { + //~^^ ERROR: cannot deserialize when there is a lifetime parameter called 'de s: &'de str, } diff --git a/test_suite/tests/compile-fail/precondition/deserialize_dst.rs b/test_suite/tests/compile-fail/precondition/deserialize_dst.rs index ed12a001..2ff159f1 100644 --- a/test_suite/tests/compile-fail/precondition/deserialize_dst.rs +++ b/test_suite/tests/compile-fail/precondition/deserialize_dst.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: cannot deserialize a dynamically sized struct +#[derive(Deserialize)] struct S { string: String, slice: [u8], + //~^^^^ ERROR: cannot deserialize a dynamically sized struct } diff --git a/test_suite/tests/compile-fail/remote/bad_getter.rs b/test_suite/tests/compile-fail/remote/bad_getter.rs index 3d62d4b4..a20ebd74 100644 --- a/test_suite/tests/compile-fail/remote/bad_getter.rs +++ b/test_suite/tests/compile-fail/remote/bad_getter.rs @@ -15,10 +15,11 @@ mod remote { } } -#[derive(Serialize)] //~ ERROR: 18:10: 18:19: failed to parse path: "~~~" +#[derive(Serialize)] #[serde(remote = "remote::S")] struct S { #[serde(getter = "~~~")] + //~^^^^ ERROR: failed to parse path: "~~~" a: u8, } diff --git a/test_suite/tests/compile-fail/remote/bad_remote.rs b/test_suite/tests/compile-fail/remote/bad_remote.rs index 6fca32f8..62578a2d 100644 --- a/test_suite/tests/compile-fail/remote/bad_remote.rs +++ b/test_suite/tests/compile-fail/remote/bad_remote.rs @@ -15,8 +15,9 @@ mod remote { } } -#[derive(Serialize)] //~ ERROR: 18:10: 18:19: failed to parse path: "~~~" +#[derive(Serialize)] #[serde(remote = "~~~")] +//~^^ ERROR: failed to parse path: "~~~" struct S { a: u8, } diff --git a/test_suite/tests/compile-fail/remote/enum_getter.rs b/test_suite/tests/compile-fail/remote/enum_getter.rs index 603badce..c2b9ad96 100644 --- a/test_suite/tests/compile-fail/remote/enum_getter.rs +++ b/test_suite/tests/compile-fail/remote/enum_getter.rs @@ -15,11 +15,12 @@ mod remote { } } -#[derive(Serialize)] //~ ERROR: 18:10: 18:19: #[serde(getter = "...")] is not allowed in an enum +#[derive(Serialize)] #[serde(remote = "remote::E")] pub enum E { A { #[serde(getter = "get_a")] + //~^^^^^ ERROR: #[serde(getter = "...")] is not allowed in an enum a: u8, } } diff --git a/test_suite/tests/compile-fail/remote/missing_field.rs b/test_suite/tests/compile-fail/remote/missing_field.rs index 03cfa649..8b94027b 100644 --- a/test_suite/tests/compile-fail/remote/missing_field.rs +++ b/test_suite/tests/compile-fail/remote/missing_field.rs @@ -19,7 +19,8 @@ mod remote { #[derive(Serialize, Deserialize)] #[serde(remote = "remote::S")] struct S { - a: u8, //~^^^ ERROR: missing field `b` in initializer of `remote::S` + a: u8, + //~^^^^ ERROR: missing field `b` in initializer of `remote::S` } fn main() {} diff --git a/test_suite/tests/compile-fail/remote/nonremote_getter.rs b/test_suite/tests/compile-fail/remote/nonremote_getter.rs index fbd26ad6..541e7986 100644 --- a/test_suite/tests/compile-fail/remote/nonremote_getter.rs +++ b/test_suite/tests/compile-fail/remote/nonremote_getter.rs @@ -9,9 +9,10 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: #[serde(getter = "...")] can only be used in structs that have #[serde(remote = "...")] +#[derive(Serialize)] struct S { #[serde(getter = "S::get")] + //~^^^ ERROR: #[serde(getter = "...")] can only be used in structs that have #[serde(remote = "...")] a: u8, } diff --git a/test_suite/tests/compile-fail/remote/unknown_field.rs b/test_suite/tests/compile-fail/remote/unknown_field.rs index 2b65290f..662f53dd 100644 --- a/test_suite/tests/compile-fail/remote/unknown_field.rs +++ b/test_suite/tests/compile-fail/remote/unknown_field.rs @@ -19,7 +19,8 @@ mod remote { #[serde(remote = "remote::S")] struct S { //~^^^ ERROR: struct `remote::S` has no field named `b` - b: u8, //~^^^^ ERROR: no field `b` on type `&remote::S` + b: u8, + //~^^^^^ ERROR: no field `b` on type `&remote::S` } fn main() {} diff --git a/test_suite/tests/compile-fail/remote/wrong_de.rs b/test_suite/tests/compile-fail/remote/wrong_de.rs index 10e97986..c154d932 100644 --- a/test_suite/tests/compile-fail/remote/wrong_de.rs +++ b/test_suite/tests/compile-fail/remote/wrong_de.rs @@ -13,8 +13,10 @@ mod remote { pub struct S(pub u16); } -#[derive(Deserialize)] //~ ERROR: mismatched types +#[derive(Deserialize)] #[serde(remote = "remote::S")] -struct S(u8); //~^^ expected u16, found u8 +struct S(u8); +//~^^^ ERROR: mismatched types +//~^^^^ expected u16, found u8 fn main() {} diff --git a/test_suite/tests/compile-fail/remote/wrong_getter.rs b/test_suite/tests/compile-fail/remote/wrong_getter.rs index e939928a..51107687 100644 --- a/test_suite/tests/compile-fail/remote/wrong_getter.rs +++ b/test_suite/tests/compile-fail/remote/wrong_getter.rs @@ -21,11 +21,13 @@ mod remote { } } -#[derive(Serialize)] //~ ERROR: mismatched types +#[derive(Serialize)] #[serde(remote = "remote::S")] struct S { #[serde(getter = "remote::S::get")] - a: u8, //~^^^^ expected u8, found u16 + //~^^^^ ERROR: mismatched types + a: u8, + //~^^^^^^ expected u8, found u16 } fn main() {} diff --git a/test_suite/tests/compile-fail/remote/wrong_ser.rs b/test_suite/tests/compile-fail/remote/wrong_ser.rs index ac3c7c24..22513da7 100644 --- a/test_suite/tests/compile-fail/remote/wrong_ser.rs +++ b/test_suite/tests/compile-fail/remote/wrong_ser.rs @@ -15,10 +15,12 @@ mod remote { } } -#[derive(Serialize)] //~ ERROR: mismatched types +#[derive(Serialize)] #[serde(remote = "remote::S")] struct S { - a: u8, //~^^^ expected u8, found u16 + a: u8, + //~^^^^ ERROR: mismatched types + //~^^^^^ expected u8, found u16 } fn main() {} diff --git a/test_suite/tests/compile-fail/transparent/at_most_one.rs b/test_suite/tests/compile-fail/transparent/at_most_one.rs index bade8ce8..0ec4e083 100644 --- a/test_suite/tests/compile-fail/transparent/at_most_one.rs +++ b/test_suite/tests/compile-fail/transparent/at_most_one.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: #[serde(transparent)] requires struct to have at most one transparent field +#[derive(Serialize)] #[serde(transparent)] +//~^^ ERROR: #[serde(transparent)] requires struct to have at most one transparent field struct S { a: u8, b: u8, diff --git a/test_suite/tests/compile-fail/transparent/de_at_least_one.rs b/test_suite/tests/compile-fail/transparent/de_at_least_one.rs index 3de29924..a911e0cb 100644 --- a/test_suite/tests/compile-fail/transparent/de_at_least_one.rs +++ b/test_suite/tests/compile-fail/transparent/de_at_least_one.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: #[serde(transparent)] requires at least one field that is neither skipped nor has a default +#[derive(Deserialize)] #[serde(transparent)] +//~^^ ERROR: #[serde(transparent)] requires at least one field that is neither skipped nor has a default struct S { #[serde(skip)] a: u8, diff --git a/test_suite/tests/compile-fail/transparent/ser_at_least_one.rs b/test_suite/tests/compile-fail/transparent/ser_at_least_one.rs index b13b1ee4..ae392e8e 100644 --- a/test_suite/tests/compile-fail/transparent/ser_at_least_one.rs +++ b/test_suite/tests/compile-fail/transparent/ser_at_least_one.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Serialize)] //~ ERROR: 12:10: 12:19: #[serde(transparent)] requires at least one field that is not skipped +#[derive(Serialize)] #[serde(transparent)] +//~^^ ERROR: #[serde(transparent)] requires at least one field that is not skipped struct S { #[serde(skip)] a: u8, diff --git a/test_suite/tests/compile-fail/type-attribute/from.rs b/test_suite/tests/compile-fail/type-attribute/from.rs index 550d0973..ce51c436 100644 --- a/test_suite/tests/compile-fail/type-attribute/from.rs +++ b/test_suite/tests/compile-fail/type-attribute/from.rs @@ -9,8 +9,9 @@ #[macro_use] extern crate serde_derive; -#[derive(Deserialize)] //~ ERROR: 12:10: 12:21: failed to parse type: from = "Option