feat!: remove requirement to Default

issue #175 #144
This commit is contained in:
Marc-Antoine Arnaud
2024-02-06 00:36:58 +01:00
parent 3413e98710
commit 82df2e15b9
12 changed files with 190 additions and 159 deletions

View File

@@ -1,7 +1,7 @@
// related to issue https://github.com/media-io/yaserde/issues/15
use yaserde::*;
#[derive(YaDeserialize, Default, Debug, PartialEq)]
#[derive(YaDeserialize, Debug, PartialEq)]
#[yaserde(
prefix = "ss",
namespace = "x: urn:schemas-microsoft-com:office:excel",
@@ -14,7 +14,7 @@ struct Workbook {
worksheet: Worksheet,
}
#[derive(YaDeserialize, Default, Debug, PartialEq)]
#[derive(YaDeserialize, Debug, PartialEq)]
#[yaserde(
prefix = "ss",
namespace = "x: urn:schemas-microsoft-com:office:excel",
@@ -29,7 +29,7 @@ struct Worksheet {
ws_name: String,
}
#[derive(YaDeserialize, Default, Debug, PartialEq)]
#[derive(YaDeserialize, Debug, PartialEq)]
#[yaserde(
prefix = "ss",
namespace = "x: urn:schemas-microsoft-com:office:excel",
@@ -57,7 +57,7 @@ struct Table {
rows: Vec<Row>,
}
#[derive(YaDeserialize, Default, Debug, PartialEq)]
#[derive(YaDeserialize, Debug, PartialEq)]
#[yaserde(
prefix = "ss",
namespace = "x: urn:schemas-microsoft-com:office:excel",

View File

@@ -1,7 +1,7 @@
// related to issue https://github.com/media-io/yaserde/issues/3
use yaserde::*;
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize)]
#[derive(Debug, Clone, PartialEq, YaDeserialize)]
#[yaserde(root = "layout")]
pub struct Layout {
#[yaserde(attribute)]
@@ -17,7 +17,7 @@ pub struct Layout {
pub tabpage: Vec<Tabpage>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize)]
#[derive(Debug, Clone, PartialEq, YaDeserialize)]
pub struct Tabpage {
#[yaserde(attribute, rename = "name")]
pub named: String,
@@ -48,7 +48,7 @@ pub struct Tabpage {
pub control: Vec<Control>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize)]
#[derive(Debug, Clone, PartialEq, YaDeserialize)]
pub struct Control {
#[yaserde(attribute, rename = "name")]
pub named: String,
@@ -63,27 +63,27 @@ pub struct Control {
#[yaserde(attribute)]
pub color: String,
#[yaserde(attribute)]
pub scalef: f32,
pub scalef: Option<f32>,
#[yaserde(attribute)]
pub scalet: f32,
pub scalet: Option<f32>,
#[yaserde(attribute)]
pub local_off: bool,
pub local_off: Option<bool>,
#[yaserde(attribute)]
pub sp: bool,
pub sp: Option<bool>,
#[yaserde(attribute)]
pub sr: bool,
pub sr: Option<bool>,
pub midi: Vec<Midi>,
#[yaserde(attribute)]
pub response: String,
pub response: Option<String>,
#[yaserde(attribute)]
pub inverted: String,
pub inverted: Option<String>,
#[yaserde(attribute)]
pub centered: String,
pub centered: Option<String>,
#[yaserde(attribute)]
pub norollover: String,
pub norollover: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize)]
#[derive(Debug, Clone, PartialEq, YaDeserialize)]
pub struct Midi {
#[yaserde(attribute)]
pub var: String,

View File

@@ -1,7 +1,7 @@
// related to issue https://github.com/media-io/yaserde/issues/11
use yaserde::*;
#[derive(YaDeserialize, Default, Debug, PartialEq)]
#[derive(YaDeserialize, Debug, PartialEq)]
#[yaserde(root = "DOMSymbolItem")]
struct Level {
#[yaserde(attribute)]
@@ -11,13 +11,13 @@ struct Level {
timeline: Timeline,
}
#[derive(YaDeserialize, Default, Debug, PartialEq)]
#[derive(YaDeserialize, Debug, PartialEq)]
struct Timeline {
#[yaserde(rename = "DOMTimeline")]
timeline: DOMTimeline,
}
#[derive(YaDeserialize, Default, Debug, PartialEq)]
#[derive(YaDeserialize, Debug, PartialEq)]
struct DOMTimeline {
#[yaserde(attribute, rename = "name")]
named: String,
@@ -28,13 +28,13 @@ struct DOMTimeline {
layers: Layers,
}
#[derive(YaDeserialize, Default, Debug, PartialEq)]
#[derive(YaDeserialize, Debug, PartialEq)]
struct Layers {
#[yaserde(rename = "DOMLayer")]
dom_layer: Vec<DOMLayer>,
}
#[derive(YaDeserialize, Default, Debug, PartialEq)]
#[derive(YaDeserialize, Debug, PartialEq)]
struct DOMLayer {
#[yaserde(attribute, rename = "name")]
named: String,

View File

@@ -1,6 +1,6 @@
use yaserde::YaSerialize;
#[derive(Default, PartialEq, Debug, YaSerialize)]
#[derive(PartialEq, Debug, YaSerialize)]
struct CpuDef {
#[yaserde(child)]
name: String,
@@ -18,7 +18,7 @@ struct CpuDef {
vendorsystickconfig: bool,
}
#[derive(Default, PartialEq, Debug, YaSerialize)]
#[derive(PartialEq, Debug, YaSerialize)]
struct Field {
name: String,
#[yaserde(child)]
@@ -29,7 +29,7 @@ struct Field {
access: String,
}
#[derive(Default, PartialEq, Debug, YaSerialize)]
#[derive(PartialEq, Debug, YaSerialize)]
struct Register {
#[yaserde(child)]
name: String,
@@ -49,7 +49,7 @@ struct Register {
fields: Vec<Field>,
}
#[derive(Default, PartialEq, Debug, YaSerialize)]
#[derive(PartialEq, Debug, YaSerialize)]
struct Peripheral {
#[yaserde(child)]
name: String,
@@ -69,7 +69,7 @@ struct Peripheral {
registers: Vec<Register>,
}
#[derive(Default, PartialEq, Debug, YaSerialize)]
#[derive(PartialEq, Debug, YaSerialize)]
struct DevAttrs {
#[yaserde(child)]
vendor: String,
@@ -103,7 +103,7 @@ struct DevAttrs {
peripherals: Vec<Peripheral>,
}
#[derive(Default, PartialEq, Debug, YaSerialize)]
#[derive(PartialEq, Debug, YaSerialize)]
#[yaserde(rename = "device")]
struct Device {
#[yaserde(attribute)]