Fix nondeterministic test by using dict.fromkeys ~= orderedset
#814
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.
Summary:
For a number of weeks now I've been frustrated by github test failure
notifications. I dug into the root cause for BE day, and it is that we
are using
list(set(_))
to deduplicate two lists of references inthe find-references logic.
This is fine and correct, but also nondeterministic because
set
orderingisn't fixed. There's no ordered set in the python standard library, and
it's not worth adding a dependency to get one. Instead, the standard trick
to work around this is to use a dict of
None
so the keys act like a set,which solves the problem because in 3.7+ dict keys are ordered.
Differential Revision: D52662624