[draft] graphql-parser: 0.2 -> 0.3 #395
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
An attempt at upgrading the
graphql-parser
dependency to the latest version.Unfortunately, this is a huge PITA due to fundamental changes in how graphql-parser handles the underlying text data. IIUC in previous versions
String
s were just copied around and ownership of an AST node implied ownership of all the data necessary to print out what it is. However in the latest version, the seems to have changed to AST nodes only owning pointers with non-local lifetimes into the underlying text data. See eg https://docs.rs/graphql-parser/0.3.0/graphql_parser/query/trait.Text.html which is now the underlying trait for text data.I'm not at all familiar with the graphql-client or graphql-parser codebases, so I only attempted a relatively naive "play-with-lifetimes" approach. I've sunk enough hours into this already, and I'm stuck at this point so putting this out there as a draft PR for anyone to extend/adapt/fix as they'd like!