diff options
author | Bartosz Nitka <niteria@gmail.com> | 2016-06-09 08:50:32 -0700 |
---|---|---|
committer | Bartosz Nitka <niteria@gmail.com> | 2016-06-13 11:35:25 -0700 |
commit | 0497ee504cc9ac5d6babee9b98bf779b3fc50b98 (patch) | |
tree | 9e48e5ea2524ffa28817d57c4d7806ef0402c74f /testsuite/tests/overloadedrecflds | |
parent | 586d55815401c54f4687d053fb033e53865e0bf1 (diff) | |
download | haskell-0497ee504cc9ac5d6babee9b98bf779b3fc50b98.tar.gz |
Make the Ord Module independent of Unique order
The `Ord Module` instance currently uses `Unique`s for comparison.
We don't want to use the `Unique` order because it can introduce nondeterminism.
This switches `Ord ModuleName` and `Ord UnitId` to use lexicographic ordering
making `Ord Module` deterministic transitively.
I've run `nofib` and it doesn't make a measurable difference.
See also Note [ModuleEnv determinism and performance].
Test Plan:
./validate
run nofib: P112
Reviewers: simonpj, simonmar, austin, bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2030
GHC Trac Issues: #4012
Diffstat (limited to 'testsuite/tests/overloadedrecflds')
-rw-r--r-- | testsuite/tests/overloadedrecflds/should_fail/overloadedrecfldsfail10.stderr | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/testsuite/tests/overloadedrecflds/should_fail/overloadedrecfldsfail10.stderr b/testsuite/tests/overloadedrecflds/should_fail/overloadedrecfldsfail10.stderr index 9d8e8bd6c3..9be384b500 100644 --- a/testsuite/tests/overloadedrecflds/should_fail/overloadedrecfldsfail10.stderr +++ b/testsuite/tests/overloadedrecflds/should_fail/overloadedrecfldsfail10.stderr @@ -1,6 +1,6 @@ [1 of 4] Compiling OverloadedRecFldsFail10_A ( OverloadedRecFldsFail10_A.hs, OverloadedRecFldsFail10_A.o ) -[2 of 4] Compiling OverloadedRecFldsFail10_C ( OverloadedRecFldsFail10_C.hs, OverloadedRecFldsFail10_C.o ) -[3 of 4] Compiling OverloadedRecFldsFail10_B ( OverloadedRecFldsFail10_B.hs, OverloadedRecFldsFail10_B.o ) +[2 of 4] Compiling OverloadedRecFldsFail10_B ( OverloadedRecFldsFail10_B.hs, OverloadedRecFldsFail10_B.o ) +[3 of 4] Compiling OverloadedRecFldsFail10_C ( OverloadedRecFldsFail10_C.hs, OverloadedRecFldsFail10_C.o ) [4 of 4] Compiling Main ( overloadedrecfldsfail10.hs, overloadedrecfldsfail10.o ) overloadedrecfldsfail10.hs:6:20: error: |