snix/tvix/nix-compat/src/derivation
Florian Klink 2beabe968c refactor(nix-compat/store_path): make StorePath generic on S
Similar to how cl/12253 already did this for `Signature`, we apply the
same logic to `StorePath`.

`StorePathRef<'a>'` is now a `StorePath<&'a str>`, and there's less
redundant code for the two different implementation.

`.as_ref()` returns a `StorePathRef<'_>`, `.to_owned()` gives a
`StorePath<String>` (for now).

I briefly thought about only publicly exporting `StorePath<String>`
as `StorePath`, but the diff is not too large and this will make it
easier to gradually introduce more flexibility in which store paths to
accept.

Also, remove some silliness in `StorePath::from_absolute_path_full`,
which now doesn't allocate anymore.

Change-Id: Ife8843857a1a0a3a99177ca997649fd45b8198e6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12258
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: Connor Brewster <cbrewster@hey.com>
2024-08-20 15:14:27 +00:00
..
tests refactor(nix-compat): derivation_or_fod_hash -> hash_derivation_modulo 2024-05-02 10:32:00 +00:00
errors.rs feat(tvix/nix-compat): Use StorePath in Output 2024-02-21 11:38:03 +00:00
mod.rs refactor(nix-compat/store_path): make StorePath generic on S 2024-08-20 15:14:27 +00:00
output.rs refactor(nix-compat/store_path): make StorePath generic on S 2024-08-20 15:14:27 +00:00
parse_error.rs refactor(nix-compat/store_path): make StorePath generic on S 2024-08-20 15:14:27 +00:00
parser.rs refactor(nix-compat/store_path): make StorePath generic on S 2024-08-20 15:14:27 +00:00
validate.rs feat(tvix/nix-compat): Use StorePath in Output 2024-02-21 11:38:03 +00:00
write.rs refactor(nix-compat/store_path): make StorePath generic on S 2024-08-20 15:14:27 +00:00