Change generate_variants() helper to use base by ref
This commit is contained in:
parent
42c4186dec
commit
154c2e482b
2 changed files with 7 additions and 7 deletions
|
@ -56,12 +56,12 @@ pub fn fetch_config(searchpath: &PathBuf) -> Result<Value> {
|
|||
|
||||
vec![
|
||||
vec![searchpath.clone()],
|
||||
gen_vars(searchpath.clone(), variants.clone(), &modifier),
|
||||
gen_vars(searchpath, variants.clone(), &modifier),
|
||||
|
||||
env::var("HOME").map(|home| gen_vars(PathBuf::from(home), variants.clone(), &modifier))
|
||||
env::var("HOME").map(|home| gen_vars(&PathBuf::from(home), variants.clone(), &modifier))
|
||||
.unwrap_or(vec![]),
|
||||
|
||||
xdg_basedir::get_data_home().map(|data_dir| gen_vars(data_dir, variants.clone(), &modifier))
|
||||
xdg_basedir::get_data_home().map(|data_dir| gen_vars(&data_dir, variants.clone(), &modifier))
|
||||
.unwrap_or(vec![]),
|
||||
].iter()
|
||||
.flatten()
|
||||
|
|
|
@ -32,12 +32,12 @@
|
|||
* ```
|
||||
*
|
||||
*/
|
||||
pub fn generate_variants<A, B, C, F>(base: A, modders: Vec<B>, f: &F)
|
||||
pub fn generate_variants<A, B, C, F>(base: &A, modders: Vec<B>, f: &F)
|
||||
-> Vec<C>
|
||||
where
|
||||
F: Fn(&A, B) -> C
|
||||
{
|
||||
modders.into_iter().map(|m| f(&base, m)).collect()
|
||||
modders.into_iter().map(|m| f(base, m)).collect()
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
@ -49,7 +49,7 @@ mod test {
|
|||
fn test_variants_simple() {
|
||||
let base = 1;
|
||||
let vars = vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
||||
let res = generate_variants(base, vars, &|base, var| base + var);
|
||||
let res = generate_variants(&base, vars, &|base, var| base + var);
|
||||
|
||||
assert!(res.len() == 11, format!("Length is {} instead of 11", res.len()));
|
||||
assert!(res.iter().all(|i| *i > 0));
|
||||
|
@ -62,7 +62,7 @@ mod test {
|
|||
|
||||
let base = PathBuf::from("/");
|
||||
let vars = vec!["foo", "bar", "baz"];
|
||||
let res = generate_variants(base, vars, &|base, var| {
|
||||
let res = generate_variants(&base, vars, &|base, var| {
|
||||
let mut base = base.clone();
|
||||
base.push(var);
|
||||
base
|
||||
|
|
Loading…
Reference in a new issue