mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-04-23 01:18:02 +00:00
Touch up PR 2553
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
error: #[serde(default)] can only be used on structs with fields
|
||||
error: #[serde(default)] can only be used on structs
|
||||
--> tests/ui/default-attribute/enum.rs:4:9
|
||||
|
|
||||
4 | #[serde(default)]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
error: #[serde(default = "...")] can only be used on structs with fields
|
||||
error: #[serde(default = "...")] can only be used on structs
|
||||
--> tests/ui/default-attribute/enum_path.rs:4:9
|
||||
|
|
||||
4 | #[serde(default = "default_e")]
|
||||
|
||||
@@ -1,46 +1,45 @@
|
||||
use serde_derive::Deserialize;
|
||||
|
||||
/// No errors expected
|
||||
// No errors expected.
|
||||
#[derive(Deserialize)]
|
||||
struct T0(u8, u8);
|
||||
|
||||
/// No errors expected:
|
||||
/// - if both fields are provided, both gets value from data
|
||||
/// - if only one field is provided, the second gets default value
|
||||
// No errors expected:
|
||||
// - If both fields are provided, both get value from data.
|
||||
// - If only one field is provided, the second gets default value.
|
||||
#[derive(Deserialize)]
|
||||
struct T1(u8, #[serde(default)] u8);
|
||||
|
||||
/// Errors expected -- the first field can get default value only if sequence is
|
||||
/// empty, but that mean that all other fields cannot be deserialized without
|
||||
/// errors, so the `#[serde(default)]` attribute is superfluous
|
||||
// ERROR: The first field can get default value only if sequence is empty, but
|
||||
// that mean that all other fields cannot be deserialized without errors.
|
||||
#[derive(Deserialize)]
|
||||
struct T2(#[serde(default)] u8, u8, u8);
|
||||
|
||||
/// No errors expected:
|
||||
/// - if both fields are provided, both gets value from data
|
||||
/// - if only one field is provided, the second gets default value
|
||||
/// - if none fields are provided, both gets default value
|
||||
// No errors expected:
|
||||
// - If both fields are provided, both get value from data.
|
||||
// - If only one field is provided, the second gets default value.
|
||||
// - If no fields are provided, both get default value.
|
||||
#[derive(Deserialize)]
|
||||
struct T3(#[serde(default)] u8, #[serde(default)] u8);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/// No errors expected -- missing fields gets default values
|
||||
// No errors expected -- missing fields get default values.
|
||||
#[derive(Deserialize, Default)]
|
||||
#[serde(default)]
|
||||
struct T4(u8, u8);
|
||||
|
||||
/// No errors expected -- missing fields gets default values
|
||||
// No errors expected -- missing fields get default values.
|
||||
#[derive(Deserialize, Default)]
|
||||
#[serde(default)]
|
||||
struct T5(#[serde(default)] u8, u8);
|
||||
|
||||
/// No errors expected -- missing fields gets default values
|
||||
// No errors expected -- missing fields get default values.
|
||||
#[derive(Deserialize, Default)]
|
||||
#[serde(default)]
|
||||
struct T6(u8, #[serde(default)] u8);
|
||||
|
||||
/// No errors expected -- missing fields gets default values
|
||||
// No errors expected -- missing fields get default values.
|
||||
#[derive(Deserialize, Default)]
|
||||
#[serde(default)]
|
||||
struct T7(#[serde(default)] u8, #[serde(default)] u8);
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
error: struct or field must have #[serde(default)] because previous field 0 have #[serde(default)]
|
||||
--> tests/ui/default-attribute/tuple_struct.rs:17:33
|
||||
error: field must have #[serde(default)] because previous field 0 has #[serde(default)]
|
||||
--> tests/ui/default-attribute/tuple_struct.rs:16:33
|
||||
|
|
||||
17 | struct T2(#[serde(default)] u8, u8, u8);
|
||||
16 | struct T2(#[serde(default)] u8, u8, u8);
|
||||
| ^^
|
||||
|
||||
error: struct or field must have #[serde(default)] because previous field 0 have #[serde(default)]
|
||||
--> tests/ui/default-attribute/tuple_struct.rs:17:37
|
||||
error: field must have #[serde(default)] because previous field 0 has #[serde(default)]
|
||||
--> tests/ui/default-attribute/tuple_struct.rs:16:37
|
||||
|
|
||||
17 | struct T2(#[serde(default)] u8, u8, u8);
|
||||
16 | struct T2(#[serde(default)] u8, u8, u8);
|
||||
| ^^
|
||||
|
||||
@@ -4,72 +4,71 @@ fn d<T>() -> T {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
/// No errors expected:
|
||||
/// - if both fields are provided, both gets value from data
|
||||
/// - if only one field is provided, the second gets default value
|
||||
// No errors expected:
|
||||
// - If both fields are provided, both get value from data.
|
||||
// - If only one field is provided, the second gets default value.
|
||||
#[derive(Deserialize)]
|
||||
struct T1(u8, #[serde(default = "d")] u8);
|
||||
|
||||
/// Errors expected -- the first field can get default value only if sequence is
|
||||
/// empty, but that mean that all other fields cannot be deserialized without
|
||||
/// errors, so the `#[serde(default)]` attribute is superfluous
|
||||
// ERROR: The first field can get default value only if sequence is empty, but
|
||||
// that mean that all other fields cannot be deserialized without errors.
|
||||
#[derive(Deserialize)]
|
||||
struct T2(#[serde(default = "d")] u8, u8, u8);
|
||||
|
||||
/// No errors expected:
|
||||
/// - if both fields are provided, both gets value from data
|
||||
/// - if only one field is provided, the second gets default value
|
||||
/// - if none fields are provided, both gets default value
|
||||
// No errors expected:
|
||||
// - If both fields are provided, both get value from data.
|
||||
// - If only one field is provided, the second gets default value.
|
||||
// - If no fields are provided, both get default value.
|
||||
#[derive(Deserialize)]
|
||||
struct T3(#[serde(default = "d")] u8, #[serde(default = "d")] u8);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/// No errors expected -- missing fields gets default values
|
||||
// No errors expected -- missing fields get default values.
|
||||
#[derive(Deserialize, Default)]
|
||||
#[serde(default)]
|
||||
struct T1D(#[serde(default = "d")] u8, u8);
|
||||
|
||||
/// No errors expected -- missing fields gets default values
|
||||
// No errors expected -- missing fields get default values.
|
||||
#[derive(Deserialize, Default)]
|
||||
#[serde(default)]
|
||||
struct T2D(u8, #[serde(default = "d")] u8);
|
||||
|
||||
/// No errors expected -- missing fields gets default values
|
||||
// No errors expected -- missing fields get default values.
|
||||
#[derive(Deserialize, Default)]
|
||||
#[serde(default)]
|
||||
struct T3D(#[serde(default = "d")] u8, #[serde(default = "d")] u8);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/// No errors expected -- missing fields gets default values
|
||||
// No errors expected -- missing fields get default values.
|
||||
#[derive(Deserialize)]
|
||||
#[serde(default = "d")]
|
||||
struct T1Path(#[serde(default)] u8, u8);
|
||||
|
||||
/// No errors expected -- missing fields gets default values
|
||||
// No errors expected -- missing fields get default values.
|
||||
#[derive(Deserialize)]
|
||||
#[serde(default = "d")]
|
||||
struct T2Path(u8, #[serde(default)] u8);
|
||||
|
||||
/// No errors expected -- missing fields gets default values
|
||||
// No errors expected -- missing fields get default values.
|
||||
#[derive(Deserialize)]
|
||||
#[serde(default = "d")]
|
||||
struct T3Path(#[serde(default)] u8, #[serde(default)] u8);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/// No errors expected -- missing fields gets default values
|
||||
// No errors expected -- missing fields get default values.
|
||||
#[derive(Deserialize)]
|
||||
#[serde(default = "d")]
|
||||
struct T1PathD(#[serde(default = "d")] u8, u8);
|
||||
|
||||
/// No errors expected -- missing fields gets default values
|
||||
// No errors expected -- missing fields get default values.
|
||||
#[derive(Deserialize)]
|
||||
#[serde(default = "d")]
|
||||
struct T2PathD(u8, #[serde(default = "d")] u8);
|
||||
|
||||
/// No errors expected -- missing fields gets default values
|
||||
// No errors expected -- missing fields get default values.
|
||||
#[derive(Deserialize)]
|
||||
#[serde(default = "d")]
|
||||
struct T3PathD(#[serde(default = "d")] u8, #[serde(default = "d")] u8);
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
error: struct or field must have #[serde(default)] because previous field 0 have #[serde(default)]
|
||||
--> tests/ui/default-attribute/tuple_struct_path.rs:17:39
|
||||
error: field must have #[serde(default)] because previous field 0 has #[serde(default)]
|
||||
--> tests/ui/default-attribute/tuple_struct_path.rs:16:39
|
||||
|
|
||||
17 | struct T2(#[serde(default = "d")] u8, u8, u8);
|
||||
16 | struct T2(#[serde(default = "d")] u8, u8, u8);
|
||||
| ^^
|
||||
|
||||
error: struct or field must have #[serde(default)] because previous field 0 have #[serde(default)]
|
||||
--> tests/ui/default-attribute/tuple_struct_path.rs:17:43
|
||||
error: field must have #[serde(default)] because previous field 0 has #[serde(default)]
|
||||
--> tests/ui/default-attribute/tuple_struct_path.rs:16:43
|
||||
|
|
||||
17 | struct T2(#[serde(default = "d")] u8, u8, u8);
|
||||
16 | struct T2(#[serde(default = "d")] u8, u8, u8);
|
||||
| ^^
|
||||
|
||||
Reference in New Issue
Block a user