diff --git a/docs/generators/fsharp-functions.md b/docs/generators/fsharp-functions.md
index a20382152aab..33bd1f1c2922 100644
--- a/docs/generators/fsharp-functions.md
+++ b/docs/generators/fsharp-functions.md
@@ -34,7 +34,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
-|sourceFolder|source folder for generated code| |OpenAPI/src|
+|sourceFolder|source folder for generated code| |OpenAPI\src|
## IMPORT MAPPING
diff --git a/docs/generators/fsharp-giraffe-server.md b/docs/generators/fsharp-giraffe-server.md
index abe079e504fa..fb3e25b3d776 100644
--- a/docs/generators/fsharp-giraffe-server.md
+++ b/docs/generators/fsharp-giraffe-server.md
@@ -30,7 +30,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|packageVersion|F# package version.| |1.0.0|
|returnICollection|Return ICollection<T> instead of the concrete type.| |false|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
-|sourceFolder|source folder for generated code| |OpenAPI/src|
+|sourceFolder|source folder for generated code| |OpenAPI\src|
|useCollection|Deserialize array types to Collection<T> instead of List<T>.| |false|
|useDateTimeOffset|Use DateTimeOffset to model date-time properties| |false|
|useSwashbuckle|Uses the Swashbuckle.AspNetCore NuGet package for documentation.| |false|
diff --git a/docs/generators/java-inflector.md b/docs/generators/java-inflector.md
index 210db1efcb9a..6fa2edb47f90 100644
--- a/docs/generators/java-inflector.md
+++ b/docs/generators/java-inflector.md
@@ -66,7 +66,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|snapshotVersion|Uses a SNAPSHOT version.|
**true**
Use a SnapShot Version
**false**
Use a Release Version
|null|
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
-|sourceFolder|source folder for generated code| |src/gen/java|
+|sourceFolder|source folder for generated code| |src\gen\java|
|testOutput|Set output folder for models and APIs tests| |${project.build.directory}/generated-test-sources/openapi|
|useJakartaEe|whether to use Jakarta EE namespace instead of javax| |false|
|useOneOfInterfaces|whether to use a java interface to describe a set of oneOf options, where each option is a class that implements the interface| |false|
diff --git a/docs/generators/jaxrs-cxf-client.md b/docs/generators/jaxrs-cxf-client.md
index 29a7923078b0..d89f12fbf3ab 100644
--- a/docs/generators/jaxrs-cxf-client.md
+++ b/docs/generators/jaxrs-cxf-client.md
@@ -66,7 +66,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|snapshotVersion|Uses a SNAPSHOT version.|
**true**
Use a SnapShot Version
**false**
Use a Release Version
|null|
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
-|sourceFolder|source folder for generated code| |src/gen/java|
+|sourceFolder|source folder for generated code| |src\gen\java|
|testOutput|Set output folder for models and APIs tests| |${project.build.directory}/generated-test-sources/openapi|
|useAbstractionForFiles|Use alternative types instead of java.io.File to allow passing bytes without a file on disk.| |false|
|useBeanValidation|Use BeanValidation API annotations| |false|
diff --git a/docs/generators/swift5.md b/docs/generators/swift5.md
index 9d565bf5993f..df0b0e1f3ccd 100644
--- a/docs/generators/swift5.md
+++ b/docs/generators/swift5.md
@@ -49,13 +49,13 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|responseAs|Optionally use libraries to manage response. Currently PromiseKit, RxSwift, Result, Combine, AsyncAwait are available.| |null|
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
-|swiftPackagePath|Set a custom source path instead of OpenAPIClient/Classes/OpenAPIs.| |null|
+|swiftPackagePath|Set a custom source path instead of OpenAPIClient\Classes\OpenAPIs.| |null|
|swiftUseApiNamespace|Flag to make all the API classes inner-class of {{projectName}}API| |null|
|useBacktickEscapes|Escape reserved words using backticks (default: false)| |false|
|useClasses|Use final classes for models instead of structs (default: false)| |false|
|useCustomDateWithoutTime|Uses a custom type to decode and encode dates without time information to support OpenAPIs date format (default: false)| |false|
|useJsonEncodable|Make models conform to JSONEncodable protocol (default: true)| |true|
-|useSPMFileStructure|Use SPM file structure and set the source path to Sources/{{projectName}} (default: false).| |null|
+|useSPMFileStructure|Use SPM file structure and set the source path to Sources\{{projectName}} (default: false).| |null|
|validatable|Make validation rules and validator for model properties (default: true)| |true|
## IMPORT MAPPING
diff --git a/docs/generators/swift6.md b/docs/generators/swift6.md
index a49865462eba..f19516ff2449 100644
--- a/docs/generators/swift6.md
+++ b/docs/generators/swift6.md
@@ -51,13 +51,13 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|responseAs|Optionally use libraries to manage response. Currently AsyncAwait, Combine, Result, RxSwift, ObjcBlock, PromiseKit are available.| |null|
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
-|swiftPackagePath|Set a custom source path instead of Sources/{{projectName}}.| |null|
+|swiftPackagePath|Set a custom source path instead of Sources\{{projectName}}.| |null|
|swiftUseApiNamespace|Flag to make all the API classes inner-class of {{projectName}}API| |null|
|useBacktickEscapes|Escape reserved words using backticks (default: false)| |false|
|useClasses|Use final classes for models instead of structs (default: false)| |false|
|useCustomDateWithoutTime|Uses a custom type to decode and encode dates without time information to support OpenAPIs date format (default: false)| |false|
|useJsonEncodable|Make models conform to JSONEncodable protocol (default: true)| |true|
-|useSPMFileStructure|Use SPM file structure and set the source path to Sources/{{projectName}} (default: true).| |null|
+|useSPMFileStructure|Use SPM file structure and set the source path to Sources\{{projectName}} (default: true).| |null|
|validatable|Make validation rules and validator for model properties (default: true)| |true|
## IMPORT MAPPING
diff --git a/modules/openapi-generator/src/main/resources/rust/model.mustache b/modules/openapi-generator/src/main/resources/rust/model.mustache
index 7367124d7c9c..ed4043664e5e 100644
--- a/modules/openapi-generator/src/main/resources/rust/model.mustache
+++ b/modules/openapi-generator/src/main/resources/rust/model.mustache
@@ -122,7 +122,7 @@ impl Default for {{classname}} {
{{^isEnum}}
{{^discriminator}}
{{#vendorExtensions.x-rust-has-byte-array}}#[serde_as]
-{{/vendorExtensions.x-rust-has-byte-array}}{{#oneOf.isEmpty}}#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+{{/vendorExtensions.x-rust-has-byte-array}}{{#oneOf.isEmpty}}#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct {{{classname}}} {
{{#vars}}
{{#description}}
diff --git a/samples/client/others/rust/hyper/composed-oneof/src/models/obj_a.rs b/samples/client/others/rust/hyper/composed-oneof/src/models/obj_a.rs
index 0d581be15d95..522cba9ee67e 100644
--- a/samples/client/others/rust/hyper/composed-oneof/src/models/obj_a.rs
+++ b/samples/client/others/rust/hyper/composed-oneof/src/models/obj_a.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct ObjA {
#[serde(rename = "realtype", skip_serializing_if = "Option::is_none")]
pub realtype: Option,
diff --git a/samples/client/others/rust/hyper/composed-oneof/src/models/obj_b.rs b/samples/client/others/rust/hyper/composed-oneof/src/models/obj_b.rs
index d0c508338d86..8d091fd5294d 100644
--- a/samples/client/others/rust/hyper/composed-oneof/src/models/obj_b.rs
+++ b/samples/client/others/rust/hyper/composed-oneof/src/models/obj_b.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct ObjB {
#[serde(rename = "realtype", skip_serializing_if = "Option::is_none")]
pub realtype: Option,
diff --git a/samples/client/others/rust/hyper/composed-oneof/src/models/obj_c.rs b/samples/client/others/rust/hyper/composed-oneof/src/models/obj_c.rs
index df21df238a32..cb5008e6652b 100644
--- a/samples/client/others/rust/hyper/composed-oneof/src/models/obj_c.rs
+++ b/samples/client/others/rust/hyper/composed-oneof/src/models/obj_c.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct ObjC {
#[serde(rename = "realtype", skip_serializing_if = "Option::is_none")]
pub realtype: Option,
diff --git a/samples/client/others/rust/hyper/composed-oneof/src/models/obj_d.rs b/samples/client/others/rust/hyper/composed-oneof/src/models/obj_d.rs
index 37640c7b418c..24adfcfc8e2b 100644
--- a/samples/client/others/rust/hyper/composed-oneof/src/models/obj_d.rs
+++ b/samples/client/others/rust/hyper/composed-oneof/src/models/obj_d.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct ObjD {
#[serde(rename = "realtype", skip_serializing_if = "Option::is_none")]
pub realtype: Option,
diff --git a/samples/client/others/rust/hyper/emptyObject/src/models/empty_object.rs b/samples/client/others/rust/hyper/emptyObject/src/models/empty_object.rs
index ed5bffc2d379..b6d936af83fe 100644
--- a/samples/client/others/rust/hyper/emptyObject/src/models/empty_object.rs
+++ b/samples/client/others/rust/hyper/emptyObject/src/models/empty_object.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct EmptyObject {
#[serde(rename = "emptyObject", skip_serializing_if = "Option::is_none")]
pub empty_object: Option,
diff --git a/samples/client/others/rust/hyper/oneOf-array-map/src/models/apple.rs b/samples/client/others/rust/hyper/oneOf-array-map/src/models/apple.rs
index a9f47c5e029b..3577afdc15ff 100644
--- a/samples/client/others/rust/hyper/oneOf-array-map/src/models/apple.rs
+++ b/samples/client/others/rust/hyper/oneOf-array-map/src/models/apple.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Apple {
#[serde(rename = "kind", skip_serializing_if = "Option::is_none")]
pub kind: Option,
diff --git a/samples/client/others/rust/hyper/oneOf-array-map/src/models/grape.rs b/samples/client/others/rust/hyper/oneOf-array-map/src/models/grape.rs
index 50b1144cd1de..3d5924b95d5a 100644
--- a/samples/client/others/rust/hyper/oneOf-array-map/src/models/grape.rs
+++ b/samples/client/others/rust/hyper/oneOf-array-map/src/models/grape.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Grape {
#[serde(rename = "color", skip_serializing_if = "Option::is_none")]
pub color: Option,
diff --git a/samples/client/others/rust/hyper/oneOf-reuseRef/src/models/apple.rs b/samples/client/others/rust/hyper/oneOf-reuseRef/src/models/apple.rs
index 6a7c03c3bc1e..48ac1ebc32fa 100644
--- a/samples/client/others/rust/hyper/oneOf-reuseRef/src/models/apple.rs
+++ b/samples/client/others/rust/hyper/oneOf-reuseRef/src/models/apple.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Apple {
#[serde(rename = "cultivar", skip_serializing_if = "Option::is_none")]
pub cultivar: Option,
diff --git a/samples/client/others/rust/hyper/oneOf-reuseRef/src/models/banana.rs b/samples/client/others/rust/hyper/oneOf-reuseRef/src/models/banana.rs
index a80f3d23e0fe..35f361182834 100644
--- a/samples/client/others/rust/hyper/oneOf-reuseRef/src/models/banana.rs
+++ b/samples/client/others/rust/hyper/oneOf-reuseRef/src/models/banana.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Banana {
#[serde(rename = "lengthCm", skip_serializing_if = "Option::is_none")]
pub length_cm: Option,
diff --git a/samples/client/others/rust/hyper/oneOf/src/models/addressable.rs b/samples/client/others/rust/hyper/oneOf/src/models/addressable.rs
index bbca8e7e9236..314ac1b59697 100644
--- a/samples/client/others/rust/hyper/oneOf/src/models/addressable.rs
+++ b/samples/client/others/rust/hyper/oneOf/src/models/addressable.rs
@@ -12,7 +12,7 @@ use crate::models;
use serde::{Deserialize, Serialize};
/// Addressable : Base schema for addressable entities
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Addressable {
/// Hyperlink reference
#[serde(rename = "href", skip_serializing_if = "Option::is_none")]
diff --git a/samples/client/others/rust/hyper/oneOf/src/models/apple.rs b/samples/client/others/rust/hyper/oneOf/src/models/apple.rs
index 3796fb213f47..34eebb19fd9d 100644
--- a/samples/client/others/rust/hyper/oneOf/src/models/apple.rs
+++ b/samples/client/others/rust/hyper/oneOf/src/models/apple.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Apple {
#[serde(rename = "seeds")]
pub seeds: i32,
diff --git a/samples/client/others/rust/hyper/oneOf/src/models/banana.rs b/samples/client/others/rust/hyper/oneOf/src/models/banana.rs
index 4bfe41822573..8efb991b2ad6 100644
--- a/samples/client/others/rust/hyper/oneOf/src/models/banana.rs
+++ b/samples/client/others/rust/hyper/oneOf/src/models/banana.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Banana {
#[serde(rename = "length")]
pub length: i32,
diff --git a/samples/client/others/rust/hyper/oneOf/src/models/bar.rs b/samples/client/others/rust/hyper/oneOf/src/models/bar.rs
index 2499fb3a586b..e75bf3e0d653 100644
--- a/samples/client/others/rust/hyper/oneOf/src/models/bar.rs
+++ b/samples/client/others/rust/hyper/oneOf/src/models/bar.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Bar {
#[serde(rename = "id")]
pub id: String,
diff --git a/samples/client/others/rust/hyper/oneOf/src/models/bar_create.rs b/samples/client/others/rust/hyper/oneOf/src/models/bar_create.rs
index 6eb81b990336..3ddb595d7bec 100644
--- a/samples/client/others/rust/hyper/oneOf/src/models/bar_create.rs
+++ b/samples/client/others/rust/hyper/oneOf/src/models/bar_create.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct BarCreate {
#[serde(rename = "barPropA", skip_serializing_if = "Option::is_none")]
pub bar_prop_a: Option,
diff --git a/samples/client/others/rust/hyper/oneOf/src/models/bar_ref.rs b/samples/client/others/rust/hyper/oneOf/src/models/bar_ref.rs
index 8533dd933f57..8d6860a816fc 100644
--- a/samples/client/others/rust/hyper/oneOf/src/models/bar_ref.rs
+++ b/samples/client/others/rust/hyper/oneOf/src/models/bar_ref.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct BarRef {
/// Name of the related entity.
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
diff --git a/samples/client/others/rust/hyper/oneOf/src/models/extensible.rs b/samples/client/others/rust/hyper/oneOf/src/models/extensible.rs
index 23875ef0c6e2..49542bef79ad 100644
--- a/samples/client/others/rust/hyper/oneOf/src/models/extensible.rs
+++ b/samples/client/others/rust/hyper/oneOf/src/models/extensible.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Extensible {
/// A URI to a JSON-Schema file that defines additional attributes and relationships
#[serde(rename = "@schemaLocation", skip_serializing_if = "Option::is_none")]
diff --git a/samples/client/others/rust/hyper/oneOf/src/models/foo.rs b/samples/client/others/rust/hyper/oneOf/src/models/foo.rs
index ea618695d0bd..fdda85201f13 100644
--- a/samples/client/others/rust/hyper/oneOf/src/models/foo.rs
+++ b/samples/client/others/rust/hyper/oneOf/src/models/foo.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Foo {
#[serde(rename = "fooPropA", skip_serializing_if = "Option::is_none")]
pub foo_prop_a: Option,
diff --git a/samples/client/others/rust/hyper/oneOf/src/models/foo_ref.rs b/samples/client/others/rust/hyper/oneOf/src/models/foo_ref.rs
index d0b425044b75..012ed55cc439 100644
--- a/samples/client/others/rust/hyper/oneOf/src/models/foo_ref.rs
+++ b/samples/client/others/rust/hyper/oneOf/src/models/foo_ref.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct FooRef {
#[serde(rename = "foorefPropA", skip_serializing_if = "Option::is_none")]
pub fooref_prop_a: Option,
diff --git a/samples/client/others/rust/hyper/oneOf/src/models/pasta.rs b/samples/client/others/rust/hyper/oneOf/src/models/pasta.rs
index 8ba2efce0838..e62c376c1949 100644
--- a/samples/client/others/rust/hyper/oneOf/src/models/pasta.rs
+++ b/samples/client/others/rust/hyper/oneOf/src/models/pasta.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Pasta {
#[serde(rename = "vendor", skip_serializing_if = "Option::is_none")]
pub vendor: Option,
diff --git a/samples/client/others/rust/hyper/oneOf/src/models/pizza.rs b/samples/client/others/rust/hyper/oneOf/src/models/pizza.rs
index bfe6de648264..b921bd9de9c6 100644
--- a/samples/client/others/rust/hyper/oneOf/src/models/pizza.rs
+++ b/samples/client/others/rust/hyper/oneOf/src/models/pizza.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Pizza {
#[serde(rename = "pizzaSize", skip_serializing_if = "Option::is_none")]
pub pizza_size: Option,
diff --git a/samples/client/others/rust/hyper/oneOf/src/models/pizza_speziale.rs b/samples/client/others/rust/hyper/oneOf/src/models/pizza_speziale.rs
index a294e07dfdbf..bc07d2e41a72 100644
--- a/samples/client/others/rust/hyper/oneOf/src/models/pizza_speziale.rs
+++ b/samples/client/others/rust/hyper/oneOf/src/models/pizza_speziale.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct PizzaSpeziale {
#[serde(rename = "toppings", skip_serializing_if = "Option::is_none")]
pub toppings: Option,
diff --git a/samples/client/others/rust/reqwest-regression-16119/src/models/parent.rs b/samples/client/others/rust/reqwest-regression-16119/src/models/parent.rs
index 31d1ea44857c..55d4ed55e73a 100644
--- a/samples/client/others/rust/reqwest-regression-16119/src/models/parent.rs
+++ b/samples/client/others/rust/reqwest-regression-16119/src/models/parent.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Parent {
#[serde(rename = "child", skip_serializing_if = "Option::is_none")]
pub child: Option>,
diff --git a/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_a.rs b/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_a.rs
index 0d581be15d95..522cba9ee67e 100644
--- a/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_a.rs
+++ b/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_a.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct ObjA {
#[serde(rename = "realtype", skip_serializing_if = "Option::is_none")]
pub realtype: Option,
diff --git a/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_b.rs b/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_b.rs
index d0c508338d86..8d091fd5294d 100644
--- a/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_b.rs
+++ b/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_b.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct ObjB {
#[serde(rename = "realtype", skip_serializing_if = "Option::is_none")]
pub realtype: Option,
diff --git a/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_c.rs b/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_c.rs
index df21df238a32..cb5008e6652b 100644
--- a/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_c.rs
+++ b/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_c.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct ObjC {
#[serde(rename = "realtype", skip_serializing_if = "Option::is_none")]
pub realtype: Option,
diff --git a/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_d.rs b/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_d.rs
index 37640c7b418c..24adfcfc8e2b 100644
--- a/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_d.rs
+++ b/samples/client/others/rust/reqwest/composed-oneof/src/models/obj_d.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct ObjD {
#[serde(rename = "realtype", skip_serializing_if = "Option::is_none")]
pub realtype: Option,
diff --git a/samples/client/others/rust/reqwest/emptyObject/src/models/empty_object.rs b/samples/client/others/rust/reqwest/emptyObject/src/models/empty_object.rs
index ed5bffc2d379..b6d936af83fe 100644
--- a/samples/client/others/rust/reqwest/emptyObject/src/models/empty_object.rs
+++ b/samples/client/others/rust/reqwest/emptyObject/src/models/empty_object.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct EmptyObject {
#[serde(rename = "emptyObject", skip_serializing_if = "Option::is_none")]
pub empty_object: Option,
diff --git a/samples/client/others/rust/reqwest/oneOf-array-map/src/models/apple.rs b/samples/client/others/rust/reqwest/oneOf-array-map/src/models/apple.rs
index a9f47c5e029b..3577afdc15ff 100644
--- a/samples/client/others/rust/reqwest/oneOf-array-map/src/models/apple.rs
+++ b/samples/client/others/rust/reqwest/oneOf-array-map/src/models/apple.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Apple {
#[serde(rename = "kind", skip_serializing_if = "Option::is_none")]
pub kind: Option,
diff --git a/samples/client/others/rust/reqwest/oneOf-array-map/src/models/grape.rs b/samples/client/others/rust/reqwest/oneOf-array-map/src/models/grape.rs
index 50b1144cd1de..3d5924b95d5a 100644
--- a/samples/client/others/rust/reqwest/oneOf-array-map/src/models/grape.rs
+++ b/samples/client/others/rust/reqwest/oneOf-array-map/src/models/grape.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Grape {
#[serde(rename = "color", skip_serializing_if = "Option::is_none")]
pub color: Option,
diff --git a/samples/client/others/rust/reqwest/oneOf-reuseRef/src/models/apple.rs b/samples/client/others/rust/reqwest/oneOf-reuseRef/src/models/apple.rs
index 6a7c03c3bc1e..48ac1ebc32fa 100644
--- a/samples/client/others/rust/reqwest/oneOf-reuseRef/src/models/apple.rs
+++ b/samples/client/others/rust/reqwest/oneOf-reuseRef/src/models/apple.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Apple {
#[serde(rename = "cultivar", skip_serializing_if = "Option::is_none")]
pub cultivar: Option,
diff --git a/samples/client/others/rust/reqwest/oneOf-reuseRef/src/models/banana.rs b/samples/client/others/rust/reqwest/oneOf-reuseRef/src/models/banana.rs
index a80f3d23e0fe..35f361182834 100644
--- a/samples/client/others/rust/reqwest/oneOf-reuseRef/src/models/banana.rs
+++ b/samples/client/others/rust/reqwest/oneOf-reuseRef/src/models/banana.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Banana {
#[serde(rename = "lengthCm", skip_serializing_if = "Option::is_none")]
pub length_cm: Option,
diff --git a/samples/client/others/rust/reqwest/oneOf/src/models/addressable.rs b/samples/client/others/rust/reqwest/oneOf/src/models/addressable.rs
index bbca8e7e9236..314ac1b59697 100644
--- a/samples/client/others/rust/reqwest/oneOf/src/models/addressable.rs
+++ b/samples/client/others/rust/reqwest/oneOf/src/models/addressable.rs
@@ -12,7 +12,7 @@ use crate::models;
use serde::{Deserialize, Serialize};
/// Addressable : Base schema for addressable entities
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Addressable {
/// Hyperlink reference
#[serde(rename = "href", skip_serializing_if = "Option::is_none")]
diff --git a/samples/client/others/rust/reqwest/oneOf/src/models/apple.rs b/samples/client/others/rust/reqwest/oneOf/src/models/apple.rs
index 3796fb213f47..34eebb19fd9d 100644
--- a/samples/client/others/rust/reqwest/oneOf/src/models/apple.rs
+++ b/samples/client/others/rust/reqwest/oneOf/src/models/apple.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Apple {
#[serde(rename = "seeds")]
pub seeds: i32,
diff --git a/samples/client/others/rust/reqwest/oneOf/src/models/banana.rs b/samples/client/others/rust/reqwest/oneOf/src/models/banana.rs
index 4bfe41822573..8efb991b2ad6 100644
--- a/samples/client/others/rust/reqwest/oneOf/src/models/banana.rs
+++ b/samples/client/others/rust/reqwest/oneOf/src/models/banana.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Banana {
#[serde(rename = "length")]
pub length: i32,
diff --git a/samples/client/others/rust/reqwest/oneOf/src/models/bar.rs b/samples/client/others/rust/reqwest/oneOf/src/models/bar.rs
index 2499fb3a586b..e75bf3e0d653 100644
--- a/samples/client/others/rust/reqwest/oneOf/src/models/bar.rs
+++ b/samples/client/others/rust/reqwest/oneOf/src/models/bar.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Bar {
#[serde(rename = "id")]
pub id: String,
diff --git a/samples/client/others/rust/reqwest/oneOf/src/models/bar_create.rs b/samples/client/others/rust/reqwest/oneOf/src/models/bar_create.rs
index 6eb81b990336..3ddb595d7bec 100644
--- a/samples/client/others/rust/reqwest/oneOf/src/models/bar_create.rs
+++ b/samples/client/others/rust/reqwest/oneOf/src/models/bar_create.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct BarCreate {
#[serde(rename = "barPropA", skip_serializing_if = "Option::is_none")]
pub bar_prop_a: Option,
diff --git a/samples/client/others/rust/reqwest/oneOf/src/models/bar_ref.rs b/samples/client/others/rust/reqwest/oneOf/src/models/bar_ref.rs
index 8533dd933f57..8d6860a816fc 100644
--- a/samples/client/others/rust/reqwest/oneOf/src/models/bar_ref.rs
+++ b/samples/client/others/rust/reqwest/oneOf/src/models/bar_ref.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct BarRef {
/// Name of the related entity.
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
diff --git a/samples/client/others/rust/reqwest/oneOf/src/models/extensible.rs b/samples/client/others/rust/reqwest/oneOf/src/models/extensible.rs
index 23875ef0c6e2..49542bef79ad 100644
--- a/samples/client/others/rust/reqwest/oneOf/src/models/extensible.rs
+++ b/samples/client/others/rust/reqwest/oneOf/src/models/extensible.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Extensible {
/// A URI to a JSON-Schema file that defines additional attributes and relationships
#[serde(rename = "@schemaLocation", skip_serializing_if = "Option::is_none")]
diff --git a/samples/client/others/rust/reqwest/oneOf/src/models/foo.rs b/samples/client/others/rust/reqwest/oneOf/src/models/foo.rs
index ea618695d0bd..fdda85201f13 100644
--- a/samples/client/others/rust/reqwest/oneOf/src/models/foo.rs
+++ b/samples/client/others/rust/reqwest/oneOf/src/models/foo.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Foo {
#[serde(rename = "fooPropA", skip_serializing_if = "Option::is_none")]
pub foo_prop_a: Option,
diff --git a/samples/client/others/rust/reqwest/oneOf/src/models/foo_ref.rs b/samples/client/others/rust/reqwest/oneOf/src/models/foo_ref.rs
index d0b425044b75..012ed55cc439 100644
--- a/samples/client/others/rust/reqwest/oneOf/src/models/foo_ref.rs
+++ b/samples/client/others/rust/reqwest/oneOf/src/models/foo_ref.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct FooRef {
#[serde(rename = "foorefPropA", skip_serializing_if = "Option::is_none")]
pub fooref_prop_a: Option,
diff --git a/samples/client/others/rust/reqwest/oneOf/src/models/pasta.rs b/samples/client/others/rust/reqwest/oneOf/src/models/pasta.rs
index 8ba2efce0838..e62c376c1949 100644
--- a/samples/client/others/rust/reqwest/oneOf/src/models/pasta.rs
+++ b/samples/client/others/rust/reqwest/oneOf/src/models/pasta.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Pasta {
#[serde(rename = "vendor", skip_serializing_if = "Option::is_none")]
pub vendor: Option,
diff --git a/samples/client/others/rust/reqwest/oneOf/src/models/pizza.rs b/samples/client/others/rust/reqwest/oneOf/src/models/pizza.rs
index bfe6de648264..b921bd9de9c6 100644
--- a/samples/client/others/rust/reqwest/oneOf/src/models/pizza.rs
+++ b/samples/client/others/rust/reqwest/oneOf/src/models/pizza.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Pizza {
#[serde(rename = "pizzaSize", skip_serializing_if = "Option::is_none")]
pub pizza_size: Option,
diff --git a/samples/client/others/rust/reqwest/oneOf/src/models/pizza_speziale.rs b/samples/client/others/rust/reqwest/oneOf/src/models/pizza_speziale.rs
index a294e07dfdbf..bc07d2e41a72 100644
--- a/samples/client/others/rust/reqwest/oneOf/src/models/pizza_speziale.rs
+++ b/samples/client/others/rust/reqwest/oneOf/src/models/pizza_speziale.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct PizzaSpeziale {
#[serde(rename = "toppings", skip_serializing_if = "Option::is_none")]
pub toppings: Option,
diff --git a/samples/client/petstore/rust/hyper/petstore/src/models/action_container.rs b/samples/client/petstore/rust/hyper/petstore/src/models/action_container.rs
index 11d2f0b87124..aef0dc2eb988 100644
--- a/samples/client/petstore/rust/hyper/petstore/src/models/action_container.rs
+++ b/samples/client/petstore/rust/hyper/petstore/src/models/action_container.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct ActionContainer {
#[serde(rename = "action")]
pub action: Box,
diff --git a/samples/client/petstore/rust/hyper/petstore/src/models/api_response.rs b/samples/client/petstore/rust/hyper/petstore/src/models/api_response.rs
index 0a60da0f4773..6e06d3896760 100644
--- a/samples/client/petstore/rust/hyper/petstore/src/models/api_response.rs
+++ b/samples/client/petstore/rust/hyper/petstore/src/models/api_response.rs
@@ -12,7 +12,7 @@ use crate::models;
use serde::{Deserialize, Serialize};
/// ApiResponse : Describes the result of uploading an image resource
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct ApiResponse {
#[serde(rename = "code", skip_serializing_if = "Option::is_none")]
pub code: Option,
diff --git a/samples/client/petstore/rust/hyper/petstore/src/models/array_item_ref_test.rs b/samples/client/petstore/rust/hyper/petstore/src/models/array_item_ref_test.rs
index 4ac1e8a2fe9c..64de53b54781 100644
--- a/samples/client/petstore/rust/hyper/petstore/src/models/array_item_ref_test.rs
+++ b/samples/client/petstore/rust/hyper/petstore/src/models/array_item_ref_test.rs
@@ -12,7 +12,7 @@ use crate::models;
use serde::{Deserialize, Serialize};
/// ArrayItemRefTest : Test handling of object reference in arrays
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct ArrayItemRefTest {
#[serde(rename = "list_with_array_ref")]
pub list_with_array_ref: Vec>,
diff --git a/samples/client/petstore/rust/hyper/petstore/src/models/category.rs b/samples/client/petstore/rust/hyper/petstore/src/models/category.rs
index 9ecf89d354d6..1406c4e5284c 100644
--- a/samples/client/petstore/rust/hyper/petstore/src/models/category.rs
+++ b/samples/client/petstore/rust/hyper/petstore/src/models/category.rs
@@ -12,7 +12,7 @@ use crate::models;
use serde::{Deserialize, Serialize};
/// Category : A category for a pet
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Category {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option,
diff --git a/samples/client/petstore/rust/hyper/petstore/src/models/enum_array_testing.rs b/samples/client/petstore/rust/hyper/petstore/src/models/enum_array_testing.rs
index 2ac40c307756..0c6d5db4d898 100644
--- a/samples/client/petstore/rust/hyper/petstore/src/models/enum_array_testing.rs
+++ b/samples/client/petstore/rust/hyper/petstore/src/models/enum_array_testing.rs
@@ -12,7 +12,7 @@ use crate::models;
use serde::{Deserialize, Serialize};
/// EnumArrayTesting : Test of enum array
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct EnumArrayTesting {
#[serde(rename = "required_enums")]
pub required_enums: Vec,
diff --git a/samples/client/petstore/rust/hyper/petstore/src/models/model_ref.rs b/samples/client/petstore/rust/hyper/petstore/src/models/model_ref.rs
index 9862cb1a48ef..2a6fe501846d 100644
--- a/samples/client/petstore/rust/hyper/petstore/src/models/model_ref.rs
+++ b/samples/client/petstore/rust/hyper/petstore/src/models/model_ref.rs
@@ -12,7 +12,7 @@ use crate::models;
use serde::{Deserialize, Serialize};
/// Ref : using reserved word as model name
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Ref {
#[serde(rename = "dummy", skip_serializing_if = "Option::is_none")]
pub dummy: Option,
diff --git a/samples/client/petstore/rust/hyper/petstore/src/models/model_return.rs b/samples/client/petstore/rust/hyper/petstore/src/models/model_return.rs
index 07d9268e6e68..88f51e2b74f1 100644
--- a/samples/client/petstore/rust/hyper/petstore/src/models/model_return.rs
+++ b/samples/client/petstore/rust/hyper/petstore/src/models/model_return.rs
@@ -12,7 +12,7 @@ use crate::models;
use serde::{Deserialize, Serialize};
/// Return : Test using keywords
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Return {
#[serde(rename = "match", skip_serializing_if = "Option::is_none")]
pub r#match: Option,
diff --git a/samples/client/petstore/rust/hyper/petstore/src/models/nullable_array.rs b/samples/client/petstore/rust/hyper/petstore/src/models/nullable_array.rs
index a155ea1176ab..519f1ff37970 100644
--- a/samples/client/petstore/rust/hyper/petstore/src/models/nullable_array.rs
+++ b/samples/client/petstore/rust/hyper/petstore/src/models/nullable_array.rs
@@ -11,7 +11,7 @@
use crate::models;
use serde::{Deserialize, Serialize};
-#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct NullableArray {
#[serde(rename = "array_nullable", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub array_nullable: Option