Make derived names deterministic
The names of auxiliary bindings end up in the interface file, and since uniques are nondeterministic, we end up with nondeterministic interface files. This uses the package and module name in the generated name, so I believe it should avoid problems from #7947 and be deterministic as well. The generated names look like this now: `$cLrlbmVwI3gpI8G2E6Hg3mO` and with `-ppr-debug`: `$c$aeson_70dylHtv1FFGeai1IoxcQr$Data.Aeson.Types.Internal$String`. Reviewed By: simonmar, austin, ezyang Differential Revision: https://phabricator.haskell.org/D1133 GHC Trac Issues: #4012
Showing
- compiler/backpack/ShPackageKey.hs 3 additions, 42 deletionscompiler/backpack/ShPackageKey.hs
- compiler/basicTypes/Module.hs 9 additions, 0 deletionscompiler/basicTypes/Module.hs
- compiler/basicTypes/Name.hs 17 additions, 0 deletionscompiler/basicTypes/Name.hs
- compiler/typecheck/TcGenDeriv.hs 18 additions, 16 deletionscompiler/typecheck/TcGenDeriv.hs
- compiler/utils/Encoding.hs 50 additions, 1 deletioncompiler/utils/Encoding.hs
Loading
Please register or sign in to comment