refactor(tvix/derivation): relax bounds for reference iterator

This makes it easier to pass owned strings if that's what we have.

Change-Id: Ia7351ff2681292d16534ec50fe60b926b683bb9a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7908
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
This commit is contained in:
Vincent Ambo 2023-01-23 16:17:43 +03:00 committed by tazjin
parent b0d6e748ac
commit 9f75973e4a
2 changed files with 4 additions and 4 deletions

View file

@ -75,7 +75,7 @@ fn build_store_path(
/// Build a store path for a literal text file in the store that may
/// contain references.
pub fn path_with_references<'a, I: IntoIterator<Item = &'a str>, C: AsRef<[u8]>>(
pub fn path_with_references<S: AsRef<str>, I: IntoIterator<Item = S>, C: AsRef<[u8]>>(
name: &str,
content: C,
references: I,
@ -84,7 +84,7 @@ pub fn path_with_references<'a, I: IntoIterator<Item = &'a str>, C: AsRef<[u8]>>
for reference in references {
s.push(':');
s.push_str(reference);
s.push_str(reference.as_ref());
}
let content_digest = {

View file

@ -313,7 +313,7 @@ fn path_with_zero_references() {
// nix-repl> builtins.toFile "foo" "bar"
// "/nix/store/vxjiwkjkn7x4079qvh1jkl5pn05j2aw0-foo"
let store_path = crate::path_with_references("foo", "bar", vec![])
let store_path = crate::path_with_references("foo", "bar", Vec::<String>::new())
.expect("path_with_references() should succeed");
assert_eq!(
@ -329,7 +329,7 @@ fn path_with_non_zero_references() {
// nix-repl> builtins.toFile "baz" "${builtins.toFile "foo" "bar"}"
// "/nix/store/5xd714cbfnkz02h2vbsj4fm03x3f15nf-baz"
let inner = crate::path_with_references("foo", "bar", vec![])
let inner = crate::path_with_references("foo", "bar", Vec::<String>::new())
.expect("path_with_references() should succeed");
let inner_path = inner.to_absolute_path();