Skip to content

Commit

Permalink
Change Implementers fields from HashMap to IndexMap (#898)
Browse files Browse the repository at this point in the history
This struct returned by `Schema::implementers_map` maps interface types
to (object or interface) types that implement that interface.
Now the ordering of implementers is deterministic
and matches their definition order in the schema.
This helps fuzzing, where the same entropy source
should generate the same test case.
  • Loading branch information
SimonSapin authored Aug 26, 2024
1 parent d93c1fc commit 1f29e09
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 460 deletions.
15 changes: 15 additions & 0 deletions crates/apollo-compiler/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,21 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
## Maintenance
## Documentation-->

# [x.x.x] (unreleased) - 2024-mm-dd

## BREAKING

- **Change `Implementers` fields from `HashMap` to `IndexMap` - [SimonSapin] in [pull/898]**
This struct returned by `Schema::implementers_map` maps interface types
to (object or interface) types that implement that interface.
Now the ordering of implementers is deterministic
and matches their definition order in the schema.
This helps fuzzing, where the same entropy source should generate the same test case.

[SimonSapin]: https://github.com/SimonSapin
[pull/898]: https://github.com/apollographql/apollo-rs/pull/898


# [1.0.0-beta.20](https://crates.io/crates/apollo-compiler/1.0.0-beta.20) - 2024-07-30

## Fixes
Expand Down
Loading

0 comments on commit 1f29e09

Please sign in to comment.