mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-04-23 14:08:06 +00:00
Touch up PR 2553
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user