-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unresolved import serde
use of undeclared crate or module serde
#427
Comments
Is |
It should mention in the README what crates and features are necessary to run the examples. Another e.g.: It's not straightforward to people new to the ecosystem that "json" is a feature that must be enabled for
|
Is it a bug that to use |
I've run into the same issue: glad the discussion is here and I'll add serde to my Cargo.toml, but it's also not clear to me why this is so. (I am also new to working with packages that make use of macros in this fashion) |
This PR makes the serde derives emitted by `#[derive(GraphQLQuery)]` use a private re-export of the serde crate instead of relying on users of this crate having added serde to their `Cargo.toml`. Serde allows you to add an annotation #[serde(crate = "<path to crate>")] for exactly this reason so most of this PR is just plumbing the correct path through the codegen crate to the correct annotation. Details ------- - There is a new `#[doc(hidden)] mod _private` declaration in the `graphql_client` crate. All re-exports (which is just serde) have been placed there. - I have added a new `serde_path` field to `GraphQLCodegenOptions` which defaults to `::serde`. This means that the code generated by the CLI should remain effectively unchanged. - The rest is just applying `#[serde(crate = ...)]` annotations where appropriate. Fixes graphql-rust#427
This PR makes the serde derives emitted by `#[derive(GraphQLQuery)]` use a private re-export of the serde crate instead of relying on users of this crate having added serde to their `Cargo.toml`. Serde allows you to add an annotation #[serde(crate = "<path to crate>")] for exactly this reason so most of this PR is just plumbing the correct path through the codegen crate to the correct annotation. Details ------- - There is a new `#[doc(hidden)] mod _private` declaration in the `graphql_client` crate. All re-exports (which is just serde) have been placed there. - I have added a new `serde_path` field to `GraphQLCodegenOptions` which defaults to `::serde`. This means that the code generated by the CLI should remain effectively unchanged. - The rest is just applying `#[serde(crate = ...)]` annotations where appropriate. Fixes graphql-rust#427
This PR makes the serde derives emitted by `#[derive(GraphQLQuery)]` use a private re-export of the serde crate instead of relying on users of this crate having added serde to their `Cargo.toml`. Serde allows you to add an annotation #[serde(crate = "<path to crate>")] for exactly this reason so most of this PR is just plumbing the correct path through the codegen crate to the correct annotation. Details ------- - There is a new `#[doc(hidden)] mod _private` declaration in the `graphql_client` crate. All re-exports (which is just serde) have been placed there. - I have added a new `serde_path` field to `GraphQLCodegenOptions` which defaults to `::serde`. This means that the code generated by the CLI should remain effectively unchanged. - The rest is just applying `#[serde(crate = ...)]` annotations where appropriate. Fixes graphql-rust#427
This PR makes the serde derives emitted by `#[derive(GraphQLQuery)]` use a private re-export of the serde crate instead of relying on users of this crate having added serde to their `Cargo.toml`. Serde allows you to add an annotation #[serde(crate = "<path to crate>")] for exactly this reason so most of this PR is just plumbing the correct path through the codegen crate to the correct annotation. Details ------- - There is a new `#[doc(hidden)] mod _private` declaration in the `graphql_client` crate. All re-exports (which is just serde) have been placed there. - I have added a new `serde_path` field to `GraphQLCodegenOptions` which defaults to `::serde`. This means that the code generated by the CLI should remain effectively unchanged. - The rest is just applying `#[serde(crate = ...)]` annotations where appropriate. Fixes graphql-rust#427
When following example code, I get the following error:
The text was updated successfully, but these errors were encountered: