From d45b32db73ddfe57160b5f2c58417e64df8453b0 Mon Sep 17 00:00:00 2001 From: Duy Do Date: Wed, 28 Jul 2021 12:51:06 +0700 Subject: [PATCH] Derive from both variables and response for enum --- graphql_client_codegen/src/codegen/enums.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/graphql_client_codegen/src/codegen/enums.rs b/graphql_client_codegen/src/codegen/enums.rs index 5e77cd1d..9f65206e 100644 --- a/graphql_client_codegen/src/codegen/enums.rs +++ b/graphql_client_codegen/src/codegen/enums.rs @@ -16,11 +16,13 @@ pub(super) fn generate_enum_definitions<'a, 'schema: 'a>( options: &'a GraphQLClientCodegenOptions, query: BoundQuery<'schema>, ) -> impl Iterator + 'a { - let derives = render_derives( - options - .all_response_derives() - .filter(|d| !&["Serialize", "Deserialize", "Default"].contains(d)), - ); + let traits = options + .all_response_derives() + .chain(options.all_variable_derives()) + .filter(|d| !&["Serialize", "Deserialize", "Default"].contains(d)) + // Use BTreeSet instead of HashSet for a stable ordering. + .collect::>(); + let derives = render_derives(traits.into_iter()); let normalization = options.normalization(); all_used_types.enums(query.schema)