diff options
author | Greg Becker <becker33@llnl.gov> | 2023-05-15 22:08:34 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-16 01:08:34 -0400 |
commit | 3765a5f7f847ecec69fc88a8b4dcaa4994217e94 (patch) | |
tree | 5747cec8cb56a353cd9896ad09ade33b0fc73853 /bin | |
parent | 690661eadd7231bea45a4c68a4b5d090c22be417 (diff) | |
download | spack-3765a5f7f847ecec69fc88a8b4dcaa4994217e94.tar.gz spack-3765a5f7f847ecec69fc88a8b4dcaa4994217e94.tar.bz2 spack-3765a5f7f847ecec69fc88a8b4dcaa4994217e94.tar.xz spack-3765a5f7f847ecec69fc88a8b4dcaa4994217e94.zip |
unify: when_possible and unify: true -- Bugfix for error in 37438 (#37681)
Two bugs came in from #37438
1. `unify: when_possible` was broken, because of an incorrect assertion. abstract/concrete
spec pairs were compared against the results that were in the process of being computed,
rather than against the previous results.
2. `unify: true` had an ordering bug that could mix the association between abstract and
concrete specs
- [x] 1 is resolved by creating a lookup from old concrete specs to old abstract specs,
and we use that to associate the "new" concrete specs that happen to be the old
ones with their abstract specs (since those are stripped out for concretization
- [x] 2 is resolved by combining the new and old abstract as lists instead of combining
them as sets. This is important because `set() | set()` does not make any ordering
promises, even though set ordering is otherwise guaranteed in `python@3.7:`
Diffstat (limited to 'bin')
0 files changed, 0 insertions, 0 deletions