spack/lib/spack
Harmen Stoppels 883bbf3826
variants: fix narrowing multi -> single -> bool (#49880)
* `x=*` constrained by `+x` now produces a boolean valued variant instead of a multi-valued variant.
   
* Values are now always stored as a tuple internally, whether bool, single or multi-valued. 

* Value assignment has a stricter api to prevent ambiguity / type issues related to 
   `variant.value = "x"` / `variant.value = ["x"]` / `variant.value = ("x",)`. It's now `variant.set("x", ...)` for 
   single and multi-valued variants.

* The `_original_value` prop is dropped, since it was unused.

* The wildcard `*` is no longer a possible variant value in any type of variant, since the *parser*
   deals with it and creates a variant with no values.
2025-04-16 09:44:38 +02:00
..
docs build(deps): bump urllib3 from 2.3.0 to 2.4.0 in /lib/spack/docs (#50014) 2025-04-14 10:07:24 +02:00
external Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
llnl Turn compilers into nodes (#45189) 2025-03-25 22:32:49 -06:00
spack variants: fix narrowing multi -> single -> bool (#49880) 2025-04-16 09:44:38 +02:00
spack_installable Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00