Skip to content

Commit cf4ce1f

Browse files
authored
Merge pull request #389 from json-schema-tools/fix/rust-enum-literals
fix: non literal enum should not derive eq
2 parents 3c90b8d + b86f15c commit cf4ce1f

File tree

6 files changed

+9
-9
lines changed

6 files changed

+9
-9
lines changed

src/codegens/rust.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ export default class Rust extends CodeGen {
275275
private buildEnum(s: JSONSchema[]): TypeIntermediateRepresentation {
276276
return {
277277
macros: [
278-
"#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]",
278+
"#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]",
279279
"#[serde(untagged)]"
280280
].join("\n"),
281281
prefix: "enum",

src/integration-tests/expecteds/rs/complex.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ pub type SinkResource = HashMap<String, Option<serde_json::Value>>;
9797
pub type Whining = bool;
9898
pub type Burns = i64;
9999
pub type FeelingOfEmptiness = serde_json::Value;
100-
#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
100+
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
101101
#[serde(untagged)]
102102
pub enum SinkComplaints {
103103
Whining(Whining),
@@ -106,7 +106,7 @@ pub enum SinkComplaints {
106106
}
107107
pub type European = bool;
108108
pub type DrainPipeInches = i64;
109-
#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
109+
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
110110
#[serde(untagged)]
111111
pub enum MeasurementStandard {
112112
European(European),

src/integration-tests/expecteds/rs/duplicate-names.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ pub struct ObjectOfBazLEtnUJ56 {
2020
#[serde(rename="NotFoo", skip_serializing_if("Option::is_none"))]
2121
pub not_foo: Option<Baz>,
2222
}
23-
#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
23+
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
2424
#[serde(untagged)]
2525
pub enum OneOfStuff {
2626
UnorderedSetOfFooz1UBFn8B(UnorderedSetOfFooz1UBFn8B),
2727
SetOfNumbers(SetOfNumbers),
2828
}
29-
#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
29+
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
3030
#[serde(untagged)]
3131
pub enum AnyOfFooFooObjectOfBazLEtnUJ56OneOfStuffBar {
3232
Foo(Foo),

src/integration-tests/expecteds/rs/multi-schema.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ extern crate derive_builder;
44

55
use serde::{Serialize, Deserialize};
66
pub type StringDoaGddGA = String;
7-
#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
7+
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
88
#[serde(untagged)]
99
pub enum OneOfStringDoaGddGAStringDoaGddGABERs71N5 {
1010
StringDoaGddGA(StringDoaGddGA),
@@ -21,7 +21,7 @@ pub type RGBOrHex = Vec<OneOfStringDoaGddGAStringDoaGddGABERs71N5>;
2121
///
2222
pub type StringDBm1TnLT = String;
2323
pub type ColorAsAnything = serde_json::Value;
24-
#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
24+
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
2525
#[serde(untagged)]
2626
pub enum AnyOfRGBOrHexStringDBm1TnLTColorAsAnything {
2727
RGBOrHex(RGBOrHex),

src/integration-tests/expecteds/rs/pets.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ pub enum Donkey {
1919
#[serde(rename = "Donkey")]
2020
Donkey,
2121
}
22-
#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
22+
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
2323
#[serde(untagged)]
2424
pub enum OneOfDonkeyHorseOxP55NQZsj {
2525
Ox(Ox),

src/integration-tests/expecteds/rs/type-as-array.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ extern crate derive_builder;
55
use serde::{Serialize, Deserialize};
66
pub type TypeAsArrayAsString = String;
77
pub type TypeAsArrayAsNumber = f64;
8-
#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
8+
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
99
#[serde(untagged)]
1010
pub enum TypeAsArray {
1111
TypeAsArrayAsString(TypeAsArrayAsString),

0 commit comments

Comments
 (0)