Skip to content

Commit 1f29e09

Browse files
authored
Change Implementers fields from HashMap to IndexMap (#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.
1 parent d93c1fc commit 1f29e09

File tree

4 files changed

+20
-460
lines changed

4 files changed

+20
-460
lines changed

crates/apollo-compiler/CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,21 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
1717
## Maintenance
1818
## Documentation-->
1919

20+
# [x.x.x] (unreleased) - 2024-mm-dd
21+
22+
## BREAKING
23+
24+
- **Change `Implementers` fields from `HashMap` to `IndexMap` - [SimonSapin] in [pull/898]**
25+
This struct returned by `Schema::implementers_map` maps interface types
26+
to (object or interface) types that implement that interface.
27+
Now the ordering of implementers is deterministic
28+
and matches their definition order in the schema.
29+
This helps fuzzing, where the same entropy source should generate the same test case.
30+
31+
[SimonSapin]: https://github.com/SimonSapin
32+
[pull/898]: https://github.com/apollographql/apollo-rs/pull/898
33+
34+
2035
# [1.0.0-beta.20](https://crates.io/crates/apollo-compiler/1.0.0-beta.20) - 2024-07-30
2136

2237
## Fixes

0 commit comments

Comments
 (0)