summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2023-03-08 13:00:53 +0100
committerGitHub <noreply@github.com>2023-03-08 13:00:53 +0100
commitd54611af2c56a04ed0990055d357b30b54b30a5d (patch)
tree3694b3d7f9a7406a90f2030e17aa3c390682af64 /README.md
parent39adb65dc7f377662a2bbb3b4377b4627cf64d31 (diff)
downloadspack-d54611af2c56a04ed0990055d357b30b54b30a5d.tar.gz
spack-d54611af2c56a04ed0990055d357b30b54b30a5d.tar.bz2
spack-d54611af2c56a04ed0990055d357b30b54b30a5d.tar.xz
spack-d54611af2c56a04ed0990055d357b30b54b30a5d.zip
Split `satisfies(..., strict=True/False)` into two functions (#35681)
This commit formalizes `satisfies(lhs, rhs, strict=True/False)` and splits it into two functions: `satisfies(lhs, rhs)` and `intersects(lhs, rhs)`. - `satisfies(lhs, rhs)` means: all concrete specs matching the left hand side also match the right hand side - `intersects(lhs, rhs)` means: there exist concrete specs matching both lhs and rhs. `intersects` now has the property that it's commutative, which previously was not guaranteed. For abstract specs, `intersects(lhs, rhs)` implies that `constrain(lhs, rhs)` works. What's *not* done in this PR is ensuring that `intersects(concrete, abstract)` returns false when the abstract spec has additional properties not present in the concrete spec, but `constrain(concrete, abstract)` will raise an error. To accomplish this, some semantics have changed, as well as bugfixes to ArchSpec: - GitVersion is now interpreted as a more constrained version - Compiler flags are interpreted as strings since their order is important - Abstract specs respect variant type (bool / multivalued)
Diffstat (limited to 'README.md')
0 files changed, 0 insertions, 0 deletions