From 08b15a781e0a8af2c5ef96720d84022b90580f71 Mon Sep 17 00:00:00 2001 From: Daniel Eades Date: Sun, 12 Jul 2026 12:25:42 +0100 Subject: [PATCH] Derive Default for structs when all field defaults are intrinsic When a struct has no whole-type default value and every property's default is Default::default(), the generated manual 'impl Default' is exactly what '#[derive(Default)]' produces, and trips clippy's warn-by-default 'derivable_impls' lint in consuming code (~50 warnings on the github.json test fixture alone). Add 'Default' to the derive set in that case instead of emitting the manual impl. Structs with a whole-type default value or any custom field default still get a hand-written impl, and builder-module Default impls are unchanged. --- cargo-typify/tests/outputs/attr.rs | 10 +- cargo-typify/tests/outputs/builder.rs | 10 +- .../tests/outputs/custom_btree_map.rs | 10 +- cargo-typify/tests/outputs/derive.rs | 10 +- cargo-typify/tests/outputs/multi_derive.rs | 16 +- cargo-typify/tests/outputs/no-builder.rs | 10 +- typify-impl/src/type_entry.rs | 17 +- typify-impl/tests/github.out | 641 ++---------------- typify-impl/tests/vega.out | 366 +--------- typify/tests/schemas/extraneous-enum.rs | 9 +- typify/tests/schemas/merged-schemas.rs | 80 +-- typify/tests/schemas/noisy-types.rs | 9 +- typify/tests/schemas/reflexive.rs | 10 +- typify/tests/schemas/rust-collisions.rs | 27 +- typify/tests/schemas/simple-types.rs | 9 +- typify/tests/schemas/types-with-defaults.rs | 9 +- .../schemas/various-enums-json-schema.rs | 11 +- typify/tests/schemas/various-enums.rs | 9 +- typify/tests/schemas/x-rust-type.rs | 10 +- 19 files changed, 122 insertions(+), 1151 deletions(-) diff --git a/cargo-typify/tests/outputs/attr.rs b/cargo-typify/tests/outputs/attr.rs index bae2d959..f61ba2b3 100644 --- a/cargo-typify/tests/outputs/attr.rs +++ b/cargo-typify/tests/outputs/attr.rs @@ -174,18 +174,10 @@ pub struct Veggie { #[doc = r" ```"] #[doc = r" "] #[extra_attr] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] pub struct Veggies { #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")] pub fruits: ::std::vec::Vec<::std::string::String>, #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")] pub vegetables: ::std::vec::Vec, } -impl ::std::default::Default for Veggies { - fn default() -> Self { - Self { - fruits: Default::default(), - vegetables: Default::default(), - } - } -} diff --git a/cargo-typify/tests/outputs/builder.rs b/cargo-typify/tests/outputs/builder.rs index d3bdd8e0..c6b8f541 100644 --- a/cargo-typify/tests/outputs/builder.rs +++ b/cargo-typify/tests/outputs/builder.rs @@ -175,21 +175,13 @@ impl Veggie { #[doc = "}"] #[doc = r" ```"] #[doc = r" "] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] pub struct Veggies { #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")] pub fruits: ::std::vec::Vec<::std::string::String>, #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")] pub vegetables: ::std::vec::Vec, } -impl ::std::default::Default for Veggies { - fn default() -> Self { - Self { - fruits: Default::default(), - vegetables: Default::default(), - } - } -} impl Veggies { pub fn builder() -> builder::Veggies { Default::default() diff --git a/cargo-typify/tests/outputs/custom_btree_map.rs b/cargo-typify/tests/outputs/custom_btree_map.rs index 27214973..efd1cdaf 100644 --- a/cargo-typify/tests/outputs/custom_btree_map.rs +++ b/cargo-typify/tests/outputs/custom_btree_map.rs @@ -176,21 +176,13 @@ impl Veggie { #[doc = "}"] #[doc = r" ```"] #[doc = r" "] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] pub struct Veggies { #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")] pub fruits: ::std::vec::Vec<::std::string::String>, #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")] pub vegetables: ::std::vec::Vec, } -impl ::std::default::Default for Veggies { - fn default() -> Self { - Self { - fruits: Default::default(), - vegetables: Default::default(), - } - } -} impl Veggies { pub fn builder() -> builder::Veggies { Default::default() diff --git a/cargo-typify/tests/outputs/derive.rs b/cargo-typify/tests/outputs/derive.rs index d66ce803..5fb3b4f0 100644 --- a/cargo-typify/tests/outputs/derive.rs +++ b/cargo-typify/tests/outputs/derive.rs @@ -170,18 +170,10 @@ pub struct Veggie { #[doc = "}"] #[doc = r" ```"] #[doc = r" "] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, ExtraDerive)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default, ExtraDerive)] pub struct Veggies { #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")] pub fruits: ::std::vec::Vec<::std::string::String>, #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")] pub vegetables: ::std::vec::Vec, } -impl ::std::default::Default for Veggies { - fn default() -> Self { - Self { - fruits: Default::default(), - vegetables: Default::default(), - } - } -} diff --git a/cargo-typify/tests/outputs/multi_derive.rs b/cargo-typify/tests/outputs/multi_derive.rs index 4f259a28..fae5f058 100644 --- a/cargo-typify/tests/outputs/multi_derive.rs +++ b/cargo-typify/tests/outputs/multi_derive.rs @@ -177,7 +177,13 @@ pub struct Veggie { #[doc = r" ```"] #[doc = r" "] #[derive( - :: serde :: Deserialize, :: serde :: Serialize, AnotherDerive, Clone, Debug, ExtraDerive, + :: serde :: Deserialize, + :: serde :: Serialize, + AnotherDerive, + Clone, + Debug, + Default, + ExtraDerive, )] pub struct Veggies { #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")] @@ -185,11 +191,3 @@ pub struct Veggies { #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")] pub vegetables: ::std::vec::Vec, } -impl ::std::default::Default for Veggies { - fn default() -> Self { - Self { - fruits: Default::default(), - vegetables: Default::default(), - } - } -} diff --git a/cargo-typify/tests/outputs/no-builder.rs b/cargo-typify/tests/outputs/no-builder.rs index 16c8ae1e..5facd8bc 100644 --- a/cargo-typify/tests/outputs/no-builder.rs +++ b/cargo-typify/tests/outputs/no-builder.rs @@ -170,18 +170,10 @@ pub struct Veggie { #[doc = "}"] #[doc = r" ```"] #[doc = r" "] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] pub struct Veggies { #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")] pub fruits: ::std::vec::Vec<::std::string::String>, #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")] pub vegetables: ::std::vec::Vec, } -impl ::std::default::Default for Veggies { - fn default() -> Self { - Self { - fruits: Default::default(), - vegetables: Default::default(), - } - } -} diff --git a/typify-impl/src/type_entry.rs b/typify-impl/src/type_entry.rs index be2ee246..0b4646de 100644 --- a/typify-impl/src/type_entry.rs +++ b/typify-impl/src/type_entry.rs @@ -1111,7 +1111,7 @@ impl TypeEntry { type_space: &TypeSpace, output: &mut OutputSpace, struct_details: &TypeEntryStruct, - derive_set: BTreeSet<&str>, + mut derive_set: BTreeSet<&str>, ) { enum PropDefault { None(String), @@ -1193,6 +1193,19 @@ impl TypeEntry { }); }); + // If there's no whole-type default value and every property's default + // is the intrinsic `Default::default()`, the hand-written `impl Default` + // would be exactly what `#[derive(Default)]` produces (and would trip + // clippy's `derivable_impls` lint downstream). In that case we derive + // `Default` rather than emitting the manual impl below. + let derive_default = default.is_none() + && prop_default + .iter() + .all(|pd| matches!(pd, PropDefault::Default(_))); + if derive_default { + derive_set.insert("Default"); + } + let derives = strings_to_derives( derive_set, &self.extra_derives, @@ -1233,6 +1246,8 @@ impl TypeEntry { } }, ); + } else if derive_default { + // Handled above via `#[derive(Default)]`. } else if let Some(prop_default) = prop_default .iter() .map(|pd| match pd { diff --git a/typify-impl/tests/github.out b/typify-impl/tests/github.out index 3cede02a..e7f083ca 100644 --- a/typify-impl/tests/github.out +++ b/typify-impl/tests/github.out @@ -154,7 +154,7 @@ pub struct AlertInstance { #[doc = "}"] #[doc = r" ```"] #[doc = r" "] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct AlertInstanceLocation { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -168,17 +168,6 @@ pub struct AlertInstanceLocation { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub start_line: ::std::option::Option, } -impl ::std::default::Default for AlertInstanceLocation { - fn default() -> Self { - Self { - end_column: Default::default(), - end_line: Default::default(), - path: Default::default(), - start_column: Default::default(), - start_line: Default::default(), - } - } -} #[doc = "`AlertInstanceMessage`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -195,19 +184,12 @@ impl ::std::default::Default for AlertInstanceLocation { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct AlertInstanceMessage { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub text: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for AlertInstanceMessage { - fn default() -> Self { - Self { - text: Default::default(), - } - } -} #[doc = "State of a code scanning alert."] #[doc = r""] #[doc = r"
JSON schema"] @@ -1208,7 +1190,7 @@ impl ::std::convert::TryFrom<::std::string::String> for AppEventsItem { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct AppPermissions { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -1282,46 +1264,6 @@ pub struct AppPermissions { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub workflows: ::std::option::Option, } -impl ::std::default::Default for AppPermissions { - fn default() -> Self { - Self { - actions: Default::default(), - administration: Default::default(), - checks: Default::default(), - content_references: Default::default(), - contents: Default::default(), - deployments: Default::default(), - discussions: Default::default(), - emails: Default::default(), - environments: Default::default(), - issues: Default::default(), - members: Default::default(), - metadata: Default::default(), - organization_administration: Default::default(), - organization_hooks: Default::default(), - organization_packages: Default::default(), - organization_plan: Default::default(), - organization_projects: Default::default(), - organization_secrets: Default::default(), - organization_self_hosted_runners: Default::default(), - organization_user_blocking: Default::default(), - packages: Default::default(), - pages: Default::default(), - pull_requests: Default::default(), - repository_hooks: Default::default(), - repository_projects: Default::default(), - secret_scanning_alerts: Default::default(), - secrets: Default::default(), - security_events: Default::default(), - security_scanning_alert: Default::default(), - single_file: Default::default(), - statuses: Default::default(), - team_discussions: Default::default(), - vulnerability_alerts: Default::default(), - workflows: Default::default(), - } - } -} #[doc = "`AppPermissionsActions`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -4685,7 +4627,7 @@ impl ::std::convert::TryFrom<::std::string::String> for BranchProtectionRuleEdit #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct BranchProtectionRuleEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -4695,14 +4637,6 @@ pub struct BranchProtectionRuleEditedChanges { pub authorized_actors_only: ::std::option::Option, } -impl ::std::default::Default for BranchProtectionRuleEditedChanges { - fn default() -> Self { - Self { - authorized_actor_names: Default::default(), - authorized_actors_only: Default::default(), - } - } -} #[doc = "`BranchProtectionRuleEditedChangesAuthorizedActorNames`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -6545,20 +6479,13 @@ impl ::std::convert::TryFrom<::std::string::String> for CheckRunCompletedCheckRu #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CheckRunCompletedRequestedAction { #[doc = "The integrator reference of the action requested by the user."] #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub identifier: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for CheckRunCompletedRequestedAction { - fn default() -> Self { - Self { - identifier: Default::default(), - } - } -} #[doc = "`CheckRunCreated`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -7759,20 +7686,13 @@ impl ::std::convert::TryFrom<::std::string::String> for CheckRunCreatedCheckRunS #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CheckRunCreatedRequestedAction { #[doc = "The integrator reference of the action requested by the user."] #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub identifier: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for CheckRunCreatedRequestedAction { - fn default() -> Self { - Self { - identifier: Default::default(), - } - } -} #[doc = "A deployment to a repository environment. This will only be populated if the check run was created by a GitHub Actions workflow job that references an environment."] #[doc = r""] #[doc = r"
JSON schema"] @@ -9260,20 +9180,13 @@ impl ::std::convert::TryFrom<::std::string::String> for CheckRunRequestedActionC #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CheckRunRequestedActionRequestedAction { #[doc = "The integrator reference of the action requested by the user."] #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub identifier: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for CheckRunRequestedActionRequestedAction { - fn default() -> Self { - Self { - identifier: Default::default(), - } - } -} #[doc = "`CheckRunRerequested`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -10430,20 +10343,13 @@ impl ::std::convert::TryFrom<::std::string::String> for CheckRunRerequestedCheck #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CheckRunRerequestedRequestedAction { #[doc = "The integrator reference of the action requested by the user."] #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub identifier: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for CheckRunRerequestedRequestedAction { - fn default() -> Self { - Self { - identifier: Default::default(), - } - } -} #[doc = "`CheckSuiteCompleted`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -13604,7 +13510,7 @@ pub struct CodeScanningAlertClosedByUserAlertInstancesItem { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CodeScanningAlertClosedByUserAlertInstancesItemLocation { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -13618,17 +13524,6 @@ pub struct CodeScanningAlertClosedByUserAlertInstancesItemLocation { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub start_line: ::std::option::Option, } -impl ::std::default::Default for CodeScanningAlertClosedByUserAlertInstancesItemLocation { - fn default() -> Self { - Self { - end_column: Default::default(), - end_line: Default::default(), - path: Default::default(), - start_column: Default::default(), - start_line: Default::default(), - } - } -} #[doc = "`CodeScanningAlertClosedByUserAlertInstancesItemMessage`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -13645,19 +13540,12 @@ impl ::std::default::Default for CodeScanningAlertClosedByUserAlertInstancesItem #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CodeScanningAlertClosedByUserAlertInstancesItemMessage { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub text: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for CodeScanningAlertClosedByUserAlertInstancesItemMessage { - fn default() -> Self { - Self { - text: Default::default(), - } - } -} #[doc = "`CodeScanningAlertClosedByUserAlertInstancesItemState`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -14555,7 +14443,7 @@ pub struct CodeScanningAlertCreatedAlertInstancesItem { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CodeScanningAlertCreatedAlertInstancesItemLocation { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -14569,17 +14457,6 @@ pub struct CodeScanningAlertCreatedAlertInstancesItemLocation { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub start_line: ::std::option::Option, } -impl ::std::default::Default for CodeScanningAlertCreatedAlertInstancesItemLocation { - fn default() -> Self { - Self { - end_column: Default::default(), - end_line: Default::default(), - path: Default::default(), - start_column: Default::default(), - start_line: Default::default(), - } - } -} #[doc = "`CodeScanningAlertCreatedAlertInstancesItemMessage`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -14596,19 +14473,12 @@ impl ::std::default::Default for CodeScanningAlertCreatedAlertInstancesItemLocat #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CodeScanningAlertCreatedAlertInstancesItemMessage { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub text: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for CodeScanningAlertCreatedAlertInstancesItemMessage { - fn default() -> Self { - Self { - text: Default::default(), - } - } -} #[doc = "`CodeScanningAlertCreatedAlertInstancesItemState`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -15706,7 +15576,7 @@ pub struct CodeScanningAlertFixedAlertInstancesItem { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CodeScanningAlertFixedAlertInstancesItemLocation { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -15720,17 +15590,6 @@ pub struct CodeScanningAlertFixedAlertInstancesItemLocation { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub start_line: ::std::option::Option, } -impl ::std::default::Default for CodeScanningAlertFixedAlertInstancesItemLocation { - fn default() -> Self { - Self { - end_column: Default::default(), - end_line: Default::default(), - path: Default::default(), - start_column: Default::default(), - start_line: Default::default(), - } - } -} #[doc = "`CodeScanningAlertFixedAlertInstancesItemMessage`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -15747,19 +15606,12 @@ impl ::std::default::Default for CodeScanningAlertFixedAlertInstancesItemLocatio #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CodeScanningAlertFixedAlertInstancesItemMessage { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub text: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for CodeScanningAlertFixedAlertInstancesItemMessage { - fn default() -> Self { - Self { - text: Default::default(), - } - } -} #[doc = "`CodeScanningAlertFixedAlertInstancesItemState`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -16652,7 +16504,7 @@ pub struct CodeScanningAlertReopenedAlertInstancesItem { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CodeScanningAlertReopenedAlertInstancesItemLocation { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -16666,17 +16518,6 @@ pub struct CodeScanningAlertReopenedAlertInstancesItemLocation { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub start_line: ::std::option::Option, } -impl ::std::default::Default for CodeScanningAlertReopenedAlertInstancesItemLocation { - fn default() -> Self { - Self { - end_column: Default::default(), - end_line: Default::default(), - path: Default::default(), - start_column: Default::default(), - start_line: Default::default(), - } - } -} #[doc = "`CodeScanningAlertReopenedAlertInstancesItemMessage`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -16693,19 +16534,12 @@ impl ::std::default::Default for CodeScanningAlertReopenedAlertInstancesItemLoca #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CodeScanningAlertReopenedAlertInstancesItemMessage { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub text: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for CodeScanningAlertReopenedAlertInstancesItemMessage { - fn default() -> Self { - Self { - text: Default::default(), - } - } -} #[doc = "`CodeScanningAlertReopenedAlertInstancesItemState`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -17570,7 +17404,7 @@ pub struct CodeScanningAlertReopenedByUserAlertInstancesItem { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CodeScanningAlertReopenedByUserAlertInstancesItemLocation { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -17584,17 +17418,6 @@ pub struct CodeScanningAlertReopenedByUserAlertInstancesItemLocation { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub start_line: ::std::option::Option, } -impl ::std::default::Default for CodeScanningAlertReopenedByUserAlertInstancesItemLocation { - fn default() -> Self { - Self { - end_column: Default::default(), - end_line: Default::default(), - path: Default::default(), - start_column: Default::default(), - start_line: Default::default(), - } - } -} #[doc = "`CodeScanningAlertReopenedByUserAlertInstancesItemMessage`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -17611,19 +17434,12 @@ impl ::std::default::Default for CodeScanningAlertReopenedByUserAlertInstancesIt #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct CodeScanningAlertReopenedByUserAlertInstancesItemMessage { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub text: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for CodeScanningAlertReopenedByUserAlertInstancesItemMessage { - fn default() -> Self { - Self { - text: Default::default(), - } - } -} #[doc = "`CodeScanningAlertReopenedByUserAlertInstancesItemState`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -19783,14 +19599,9 @@ pub struct DeploymentCreatedDeployment { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct DeploymentCreatedDeploymentPayload {} -impl ::std::default::Default for DeploymentCreatedDeploymentPayload { - fn default() -> Self { - Self {} - } -} #[doc = "`DeploymentEvent`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -20224,14 +20035,9 @@ pub struct DeploymentStatusCreatedDeployment { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct DeploymentStatusCreatedDeploymentPayload {} -impl ::std::default::Default for DeploymentStatusCreatedDeploymentPayload { - fn default() -> Self { - Self {} - } -} #[doc = "The [deployment status](https://docs.github.com/en/rest/reference/repos#list-deployment-statuses)."] #[doc = r""] #[doc = r"
JSON schema"] @@ -23352,7 +23158,7 @@ impl ::std::convert::TryFrom<::std::string::String> for DiscussionEditedAction { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct DiscussionEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -23360,14 +23166,6 @@ pub struct DiscussionEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub title: ::std::option::Option, } -impl ::std::default::Default for DiscussionEditedChanges { - fn default() -> Self { - Self { - body: Default::default(), - title: Default::default(), - } - } -} #[doc = "`DiscussionEditedChangesBody`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -28649,7 +28447,7 @@ pub struct InstallationNewPermissionsAcceptedRepositoriesItem { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct InstallationPermissions { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -28727,47 +28525,6 @@ pub struct InstallationPermissions { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub workflows: ::std::option::Option, } -impl ::std::default::Default for InstallationPermissions { - fn default() -> Self { - Self { - actions: Default::default(), - administration: Default::default(), - checks: Default::default(), - content_references: Default::default(), - contents: Default::default(), - deployments: Default::default(), - discussions: Default::default(), - emails: Default::default(), - environments: Default::default(), - issues: Default::default(), - members: Default::default(), - metadata: Default::default(), - organization_administration: Default::default(), - organization_events: Default::default(), - organization_hooks: Default::default(), - organization_packages: Default::default(), - organization_plan: Default::default(), - organization_projects: Default::default(), - organization_secrets: Default::default(), - organization_self_hosted_runners: Default::default(), - organization_user_blocking: Default::default(), - packages: Default::default(), - pages: Default::default(), - pull_requests: Default::default(), - repository_hooks: Default::default(), - repository_projects: Default::default(), - secret_scanning_alerts: Default::default(), - secrets: Default::default(), - security_events: Default::default(), - security_scanning_alert: Default::default(), - single_file: Default::default(), - statuses: Default::default(), - team_discussions: Default::default(), - vulnerability_alerts: Default::default(), - workflows: Default::default(), - } - } -} #[doc = "`InstallationPermissionsActions`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -31600,7 +31357,7 @@ pub struct InstallationRepositoriesAddedRepositoriesAddedItem { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct InstallationRepositoriesAddedRepositoriesRemovedItem { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -31617,17 +31374,6 @@ pub struct InstallationRepositoriesAddedRepositoriesRemovedItem { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub private: ::std::option::Option, } -impl ::std::default::Default for InstallationRepositoriesAddedRepositoriesRemovedItem { - fn default() -> Self { - Self { - full_name: Default::default(), - id: Default::default(), - name: Default::default(), - node_id: Default::default(), - private: Default::default(), - } - } -} #[doc = "Describe whether all repositories have been selected or there's a selection involved"] #[doc = r""] #[doc = r"
JSON schema"] @@ -33048,7 +32794,7 @@ impl ::std::convert::TryFrom<::std::string::String> for InstallationSuspendInsta #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct InstallationSuspendInstallationPermissions { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -33142,47 +32888,6 @@ pub struct InstallationSuspendInstallationPermissions { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub workflows: ::std::option::Option, } -impl ::std::default::Default for InstallationSuspendInstallationPermissions { - fn default() -> Self { - Self { - actions: Default::default(), - administration: Default::default(), - checks: Default::default(), - content_references: Default::default(), - contents: Default::default(), - deployments: Default::default(), - discussions: Default::default(), - emails: Default::default(), - environments: Default::default(), - issues: Default::default(), - members: Default::default(), - metadata: Default::default(), - organization_administration: Default::default(), - organization_events: Default::default(), - organization_hooks: Default::default(), - organization_packages: Default::default(), - organization_plan: Default::default(), - organization_projects: Default::default(), - organization_secrets: Default::default(), - organization_self_hosted_runners: Default::default(), - organization_user_blocking: Default::default(), - packages: Default::default(), - pages: Default::default(), - pull_requests: Default::default(), - repository_hooks: Default::default(), - repository_projects: Default::default(), - secret_scanning_alerts: Default::default(), - secrets: Default::default(), - security_events: Default::default(), - security_scanning_alert: Default::default(), - single_file: Default::default(), - statuses: Default::default(), - team_discussions: Default::default(), - vulnerability_alerts: Default::default(), - workflows: Default::default(), - } - } -} #[doc = "`InstallationSuspendInstallationPermissionsActions`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -37301,7 +37006,7 @@ impl ::std::convert::TryFrom<::std::string::String> #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct InstallationUnsuspendInstallationPermissions { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -37397,47 +37102,6 @@ pub struct InstallationUnsuspendInstallationPermissions { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub workflows: ::std::option::Option, } -impl ::std::default::Default for InstallationUnsuspendInstallationPermissions { - fn default() -> Self { - Self { - actions: Default::default(), - administration: Default::default(), - checks: Default::default(), - content_references: Default::default(), - contents: Default::default(), - deployments: Default::default(), - discussions: Default::default(), - emails: Default::default(), - environments: Default::default(), - issues: Default::default(), - members: Default::default(), - metadata: Default::default(), - organization_administration: Default::default(), - organization_events: Default::default(), - organization_hooks: Default::default(), - organization_packages: Default::default(), - organization_plan: Default::default(), - organization_projects: Default::default(), - organization_secrets: Default::default(), - organization_self_hosted_runners: Default::default(), - organization_user_blocking: Default::default(), - packages: Default::default(), - pages: Default::default(), - pull_requests: Default::default(), - repository_hooks: Default::default(), - repository_projects: Default::default(), - secret_scanning_alerts: Default::default(), - secrets: Default::default(), - security_events: Default::default(), - security_scanning_alert: Default::default(), - single_file: Default::default(), - statuses: Default::default(), - team_discussions: Default::default(), - vulnerability_alerts: Default::default(), - workflows: Default::default(), - } - } -} #[doc = "`InstallationUnsuspendInstallationPermissionsActions`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -42434,19 +42098,12 @@ impl ::std::convert::TryFrom<::std::string::String> for IssueCommentEditedAction #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct IssueCommentEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub body: ::std::option::Option, } -impl ::std::default::Default for IssueCommentEditedChanges { - fn default() -> Self { - Self { - body: Default::default(), - } - } -} #[doc = "`IssueCommentEditedChangesBody`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -42988,7 +42645,7 @@ impl ::std::convert::From for IssueCommentEvent { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct IssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -43000,16 +42657,6 @@ pub struct IssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub url: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for IssuePullRequest { - fn default() -> Self { - Self { - diff_url: Default::default(), - html_url: Default::default(), - patch_url: Default::default(), - url: Default::default(), - } - } -} #[doc = "State of the issue; either 'open' or 'closed'"] #[doc = r""] #[doc = r"
JSON schema"] @@ -43553,7 +43200,7 @@ impl ::std::convert::TryFrom<::std::string::String> for IssuesClosedIssueActiveL #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct IssuesClosedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -43565,16 +43212,6 @@ pub struct IssuesClosedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub url: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for IssuesClosedIssuePullRequest { - fn default() -> Self { - Self { - diff_url: Default::default(), - html_url: Default::default(), - patch_url: Default::default(), - url: Default::default(), - } - } -} #[doc = "`IssuesClosedIssueState`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -44082,7 +43719,7 @@ impl ::std::convert::TryFrom<::std::string::String> for IssuesDemilestonedIssueA #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct IssuesDemilestonedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -44094,16 +43731,6 @@ pub struct IssuesDemilestonedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub url: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for IssuesDemilestonedIssuePullRequest { - fn default() -> Self { - Self { - diff_url: Default::default(), - html_url: Default::default(), - patch_url: Default::default(), - url: Default::default(), - } - } -} #[doc = "State of the issue; either 'open' or 'closed'"] #[doc = r""] #[doc = r"
JSON schema"] @@ -44378,7 +44005,7 @@ impl ::std::convert::TryFrom<::std::string::String> for IssuesEditedAction { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct IssuesEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -44386,14 +44013,6 @@ pub struct IssuesEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub title: ::std::option::Option, } -impl ::std::default::Default for IssuesEditedChanges { - fn default() -> Self { - Self { - body: Default::default(), - title: Default::default(), - } - } -} #[doc = "`IssuesEditedChangesBody`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -45080,7 +44699,7 @@ impl ::std::convert::TryFrom<::std::string::String> for IssuesLockedIssueActiveL #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct IssuesLockedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -45092,16 +44711,6 @@ pub struct IssuesLockedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub url: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for IssuesLockedIssuePullRequest { - fn default() -> Self { - Self { - diff_url: Default::default(), - html_url: Default::default(), - patch_url: Default::default(), - url: Default::default(), - } - } -} #[doc = "State of the issue; either 'open' or 'closed'"] #[doc = r""] #[doc = r"
JSON schema"] @@ -45700,7 +45309,7 @@ impl ::std::convert::TryFrom<::std::string::String> for IssuesMilestonedIssueMil #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct IssuesMilestonedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -45712,16 +45321,6 @@ pub struct IssuesMilestonedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub url: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for IssuesMilestonedIssuePullRequest { - fn default() -> Self { - Self { - diff_url: Default::default(), - html_url: Default::default(), - patch_url: Default::default(), - url: Default::default(), - } - } -} #[doc = "State of the issue; either 'open' or 'closed'"] #[doc = r""] #[doc = r"
JSON schema"] @@ -46168,7 +45767,7 @@ impl ::std::convert::TryFrom<::std::string::String> for IssuesOpenedIssueActiveL #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct IssuesOpenedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -46180,16 +45779,6 @@ pub struct IssuesOpenedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub url: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for IssuesOpenedIssuePullRequest { - fn default() -> Self { - Self { - diff_url: Default::default(), - html_url: Default::default(), - patch_url: Default::default(), - url: Default::default(), - } - } -} #[doc = "`IssuesOpenedIssueState`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -46696,7 +46285,7 @@ impl ::std::convert::TryFrom<::std::string::String> for IssuesReopenedIssueActiv #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct IssuesReopenedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -46708,16 +46297,6 @@ pub struct IssuesReopenedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub url: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for IssuesReopenedIssuePullRequest { - fn default() -> Self { - Self { - diff_url: Default::default(), - html_url: Default::default(), - patch_url: Default::default(), - url: Default::default(), - } - } -} #[doc = "`IssuesReopenedIssueState`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -47510,7 +47089,7 @@ impl<'de> ::serde::Deserialize<'de> for IssuesUnlockedIssueActiveLockReason { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct IssuesUnlockedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -47522,16 +47101,6 @@ pub struct IssuesUnlockedIssuePullRequest { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub url: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for IssuesUnlockedIssuePullRequest { - fn default() -> Self { - Self { - diff_url: Default::default(), - html_url: Default::default(), - patch_url: Default::default(), - url: Default::default(), - } - } -} #[doc = "State of the issue; either 'open' or 'closed'"] #[doc = r""] #[doc = r"
JSON schema"] @@ -48262,7 +47831,7 @@ impl ::std::convert::TryFrom<::std::string::String> for LabelEditedAction { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct LabelEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -48272,15 +47841,6 @@ pub struct LabelEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub name: ::std::option::Option, } -impl ::std::default::Default for LabelEditedChanges { - fn default() -> Self { - Self { - color: Default::default(), - description: Default::default(), - name: Default::default(), - } - } -} #[doc = "`LabelEditedChangesColor`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -51432,19 +50992,12 @@ impl ::std::convert::TryFrom<::std::string::String> for MemberAddedAction { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct MemberAddedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub permission: ::std::option::Option, } -impl ::std::default::Default for MemberAddedChanges { - fn default() -> Self { - Self { - permission: Default::default(), - } - } -} #[doc = "`MemberAddedChangesPermission`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -53884,7 +53437,7 @@ impl ::std::convert::TryFrom<::std::string::String> for MilestoneEditedAction { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct MilestoneEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -53894,15 +53447,6 @@ pub struct MilestoneEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub title: ::std::option::Option, } -impl ::std::default::Default for MilestoneEditedChanges { - fn default() -> Self { - Self { - description: Default::default(), - due_on: Default::default(), - title: Default::default(), - } - } -} #[doc = "`MilestoneEditedChangesDescription`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -60319,19 +59863,12 @@ impl ::std::convert::TryFrom<::std::string::String> for ProjectColumnEditedActio #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct ProjectColumnEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub name: ::std::option::Option, } -impl ::std::default::Default for ProjectColumnEditedChanges { - fn default() -> Self { - Self { - name: Default::default(), - } - } -} #[doc = "`ProjectColumnEditedChangesName`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -60966,7 +60503,7 @@ impl ::std::convert::TryFrom<::std::string::String> for ProjectEditedAction { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct ProjectEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -60974,14 +60511,6 @@ pub struct ProjectEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub name: ::std::option::Option, } -impl ::std::default::Default for ProjectEditedChanges { - fn default() -> Self { - Self { - body: Default::default(), - name: Default::default(), - } - } -} #[doc = "`ProjectEditedChangesBody`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -64028,7 +63557,7 @@ impl ::std::convert::TryFrom<::std::string::String> for PullRequestEditedAction #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct PullRequestEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -64036,14 +63565,6 @@ pub struct PullRequestEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub title: ::std::option::Option, } -impl ::std::default::Default for PullRequestEditedChanges { - fn default() -> Self { - Self { - body: Default::default(), - title: Default::default(), - } - } -} #[doc = "`PullRequestEditedChangesBody`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -69429,19 +68950,12 @@ impl ::std::convert::TryFrom<::std::string::String> for PullRequestReviewComment #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct PullRequestReviewCommentEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub body: ::std::option::Option, } -impl ::std::default::Default for PullRequestReviewCommentEditedChanges { - fn default() -> Self { - Self { - body: Default::default(), - } - } -} #[doc = "`PullRequestReviewCommentEditedChangesBody`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -71042,19 +70556,12 @@ impl ::std::convert::TryFrom<::std::string::String> for PullRequestReviewEditedA #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct PullRequestReviewEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub body: ::std::option::Option, } -impl ::std::default::Default for PullRequestReviewEditedChanges { - fn default() -> Self { - Self { - body: Default::default(), - } - } -} #[doc = "`PullRequestReviewEditedChangesBody`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -73582,7 +73089,7 @@ impl ::std::convert::TryFrom<::std::string::String> for ReleaseEditedAction { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct ReleaseEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -73590,14 +73097,6 @@ pub struct ReleaseEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub name: ::std::option::Option, } -impl ::std::default::Default for ReleaseEditedChanges { - fn default() -> Self { - Self { - body: Default::default(), - name: Default::default(), - } - } -} #[doc = "`ReleaseEditedChangesBody`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -76184,7 +75683,7 @@ impl ::std::convert::TryFrom<::std::string::String> for RepositoryEditedAction { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct RepositoryEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -76194,15 +75693,6 @@ pub struct RepositoryEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub homepage: ::std::option::Option, } -impl ::std::default::Default for RepositoryEditedChanges { - fn default() -> Self { - Self { - default_branch: Default::default(), - description: Default::default(), - homepage: Default::default(), - } - } -} #[doc = "`RepositoryEditedChangesDefaultBranch`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -78248,19 +77738,12 @@ pub struct RepositoryTransferredChangesOwner { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct RepositoryTransferredChangesOwnerFrom { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub user: ::std::option::Option, } -impl ::std::default::Default for RepositoryTransferredChangesOwnerFrom { - fn default() -> Self { - Self { - user: Default::default(), - } - } -} #[doc = "`RepositoryUnarchived`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -84279,19 +83762,12 @@ impl ::std::convert::TryFrom<::std::string::String> for SponsorshipEditedAction #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct SponsorshipEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub privacy_level: ::std::option::Option, } -impl ::std::default::Default for SponsorshipEditedChanges { - fn default() -> Self { - Self { - privacy_level: Default::default(), - } - } -} #[doc = "`SponsorshipEditedChangesPrivacyLevel`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -87600,7 +87076,7 @@ impl ::std::convert::TryFrom<::std::string::String> for TeamEditedAction { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct TeamEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -87612,16 +87088,6 @@ pub struct TeamEditedChanges { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub repository: ::std::option::Option, } -impl ::std::default::Default for TeamEditedChanges { - fn default() -> Self { - Self { - description: Default::default(), - name: Default::default(), - privacy: Default::default(), - repository: Default::default(), - } - } -} #[doc = "`TeamEditedChangesDescription`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -87812,7 +87278,7 @@ pub struct TeamEditedChangesRepositoryPermissions { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct TeamEditedChangesRepositoryPermissionsFrom { #[doc = "The previous version of the team member's `admin` permission on a repository, if the action was `edited`."] @@ -87825,15 +87291,6 @@ pub struct TeamEditedChangesRepositoryPermissionsFrom { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub push: ::std::option::Option, } -impl ::std::default::Default for TeamEditedChangesRepositoryPermissionsFrom { - fn default() -> Self { - Self { - admin: Default::default(), - pull: Default::default(), - push: Default::default(), - } - } -} #[doc = "`TeamEvent`"] #[doc = r""] #[doc = r"
JSON schema"] diff --git a/typify-impl/tests/vega.out b/typify-impl/tests/vega.out index ca8894dc..e20d6569 100644 --- a/typify-impl/tests/vega.out +++ b/typify-impl/tests/vega.out @@ -8212,7 +8212,7 @@ impl ::std::convert::From for AxisDomainWidth { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct AxisEncode { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -8228,18 +8228,6 @@ pub struct AxisEncode { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub title: ::std::option::Option, } -impl ::std::default::Default for AxisEncode { - fn default() -> Self { - Self { - axis: Default::default(), - domain: Default::default(), - grid: Default::default(), - labels: Default::default(), - ticks: Default::default(), - title: Default::default(), - } - } -} #[doc = "`AxisFormat`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -20650,7 +20638,7 @@ impl ::std::convert::From for DataVariant2Format { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] pub struct DataVariant2FormatVariant0Subtype0 { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub parse: ::std::option::Option, @@ -20661,14 +20649,6 @@ pub struct DataVariant2FormatVariant0Subtype0 { )] pub type_: ::std::option::Option, } -impl ::std::default::Default for DataVariant2FormatVariant0Subtype0 { - fn default() -> Self { - Self { - parse: Default::default(), - type_: Default::default(), - } - } -} #[doc = "`DataVariant2FormatVariant0Subtype0Parse`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -21129,7 +21109,7 @@ impl<'de> ::serde::Deserialize<'de> #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct DataVariant2FormatVariant0Subtype1 { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -21145,16 +21125,6 @@ pub struct DataVariant2FormatVariant0Subtype1 { )] pub type_: ::std::option::Option, } -impl ::std::default::Default for DataVariant2FormatVariant0Subtype1 { - fn default() -> Self { - Self { - copy: Default::default(), - parse: Default::default(), - property: Default::default(), - type_: Default::default(), - } - } -} #[doc = "`DataVariant2FormatVariant0Subtype1Parse`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -23364,7 +23334,7 @@ impl ::std::convert::From for DataVariant3Format { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] pub struct DataVariant3FormatVariant0Subtype0 { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub parse: ::std::option::Option, @@ -23375,14 +23345,6 @@ pub struct DataVariant3FormatVariant0Subtype0 { )] pub type_: ::std::option::Option, } -impl ::std::default::Default for DataVariant3FormatVariant0Subtype0 { - fn default() -> Self { - Self { - parse: Default::default(), - type_: Default::default(), - } - } -} #[doc = "`DataVariant3FormatVariant0Subtype0Parse`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -23843,7 +23805,7 @@ impl<'de> ::serde::Deserialize<'de> #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct DataVariant3FormatVariant0Subtype1 { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] @@ -23859,16 +23821,6 @@ pub struct DataVariant3FormatVariant0Subtype1 { )] pub type_: ::std::option::Option, } -impl ::std::default::Default for DataVariant3FormatVariant0Subtype1 { - fn default() -> Self { - Self { - copy: Default::default(), - parse: Default::default(), - property: Default::default(), - type_: Default::default(), - } - } -} #[doc = "`DataVariant3FormatVariant0Subtype1Parse`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -29176,7 +29128,7 @@ impl ::std::convert::From<::std::collections::HashMap> f #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] pub struct EncodeEntry { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub align: ::std::option::Option, @@ -29433,81 +29385,6 @@ pub struct EncodeEntry { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub zindex: ::std::option::Option, } -impl ::std::default::Default for EncodeEntry { - fn default() -> Self { - Self { - align: Default::default(), - angle: Default::default(), - aria: Default::default(), - aria_role: Default::default(), - aria_role_description: Default::default(), - aspect: Default::default(), - baseline: Default::default(), - blend: Default::default(), - clip: Default::default(), - corner_radius: Default::default(), - corner_radius_bottom_left: Default::default(), - corner_radius_bottom_right: Default::default(), - corner_radius_top_left: Default::default(), - corner_radius_top_right: Default::default(), - cursor: Default::default(), - defined: Default::default(), - description: Default::default(), - dir: Default::default(), - dx: Default::default(), - dy: Default::default(), - ellipsis: Default::default(), - end_angle: Default::default(), - fill: Default::default(), - fill_opacity: Default::default(), - font: Default::default(), - font_size: Default::default(), - font_style: Default::default(), - font_weight: Default::default(), - height: Default::default(), - inner_radius: Default::default(), - interpolate: Default::default(), - limit: Default::default(), - line_break: Default::default(), - line_height: Default::default(), - opacity: Default::default(), - orient: Default::default(), - outer_radius: Default::default(), - pad_angle: Default::default(), - path: Default::default(), - radius: Default::default(), - scale_x: Default::default(), - scale_y: Default::default(), - shape: Default::default(), - size: Default::default(), - smooth: Default::default(), - start_angle: Default::default(), - stroke: Default::default(), - stroke_cap: Default::default(), - stroke_dash: Default::default(), - stroke_dash_offset: Default::default(), - stroke_foreground: Default::default(), - stroke_join: Default::default(), - stroke_miter_limit: Default::default(), - stroke_offset: Default::default(), - stroke_opacity: Default::default(), - stroke_width: Default::default(), - tension: Default::default(), - text: Default::default(), - theta: Default::default(), - tooltip: Default::default(), - url: Default::default(), - width: Default::default(), - x: Default::default(), - x2: Default::default(), - xc: Default::default(), - y: Default::default(), - y2: Default::default(), - yc: Default::default(), - zindex: Default::default(), - } - } -} #[doc = "`EncodeKey`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -29626,7 +29503,7 @@ impl<'de> ::serde::Deserialize<'de> for EncodeKey { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] pub struct Everything { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub autosize: ::std::option::Option, @@ -29673,32 +29550,6 @@ pub struct Everything { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub width: ::std::option::Option, } -impl ::std::default::Default for Everything { - fn default() -> Self { - Self { - autosize: Default::default(), - axes: Default::default(), - background: Default::default(), - config: Default::default(), - data: Default::default(), - description: Default::default(), - encode: Default::default(), - height: Default::default(), - layout: Default::default(), - legends: Default::default(), - marks: Default::default(), - padding: Default::default(), - projections: Default::default(), - scales: Default::default(), - schema: Default::default(), - signals: Default::default(), - style: Default::default(), - title: Default::default(), - usermeta: Default::default(), - width: Default::default(), - } - } -} #[doc = "`EverythingMarksItem`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -30213,7 +30064,7 @@ pub enum FacetFacet { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct FacetFacetVariant1Aggregate { #[serde( @@ -30229,16 +30080,6 @@ pub struct FacetFacetVariant1Aggregate { #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")] pub ops: ::std::vec::Vec<::std::string::String>, } -impl ::std::default::Default for FacetFacetVariant1Aggregate { - fn default() -> Self { - Self { - as_: Default::default(), - cross: Default::default(), - fields: Default::default(), - ops: Default::default(), - } - } -} #[doc = "`FacetFacetVariant1Groupby`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -34469,19 +34310,12 @@ impl ::std::convert::TryFrom<::std::string::String> for FormulaTransformType { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct From { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub data: ::std::option::Option<::std::string::String>, } -impl ::std::default::Default for From { - fn default() -> Self { - Self { - data: Default::default(), - } - } -} #[doc = "`GeojsonTransform`"] #[doc = r""] #[doc = r"
JSON schema"] @@ -36415,7 +36249,7 @@ impl ::std::convert::TryFrom<::std::string::String> for GraticuleTransformType { #[doc = "}"] #[doc = r" ```"] #[doc = r"
"] -#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)] +#[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug, Default)] #[serde(deny_unknown_fields)] pub struct GuideEncode { #[serde(default)] @@ -36425,15 +36259,6 @@ pub struct GuideEncode { #[serde(default, skip_serializing_if = "::std::option::Option::is_none")] pub style: ::std::option::Option