nixbot

builds

failed iets-fmt-0.2.0 checks.x86_64-linux.fmt · build #892 · raw

1bld1: building 4nb4z2d6qp87m07q8dzsv5b7dp0z682l-iets-fmt-0.2.0.drv2cargoVendorDir not set, will not automatically configure vendored sources3cargoArtifacts not set, will not reuse any cargo artifacts
unpackPhase
4unpacking source archive /nix/store/b8g5x6in896lgl1w14c3iy7rigcmksh1-source5source root is source
patchPhase
6Executing configureCargoCommonVars
configurePhase
7default configurePhase, nothing to do
buildPhase
8+++ command cargo --version9cargo 1.99.0 (5f94df478 2026-08-27)10+++ command cargo fmt -- --check11Diff in /build/source/src/remote/grpc/backend.rs:223:12 let mut ask: HashMap<&'a StorePath, BTreeSet<String>> = HashMap::new();13 let mut stack: Vec<&'a StorePath> = Vec::new();14 let grow = |ask: &mut HashMap<&'a StorePath, BTreeSet<String>>,15- stack: &mut Vec<&'a StorePath>,16- p: &'a StorePath,17- names: &BTreeSet<String>| {18+ stack: &mut Vec<&'a StorePath>,19+ p: &'a StorePath,20+ names: &BTreeSet<String>| {21 let entry = ask.entry(p).or_default();22 let before = entry.len();23 entry.extend(names.iter().cloned());24Diff in /build/source/src/remote/grpc/backend.rs:302:25 // The static path of every needed output, or an error when a needed26 // output has none. Outputs nobody needs never error here.27 let mut paths: Vec<StorePath> = Vec::new();28- let mut resolve = |names: &BTreeSet<String>, drv: &Derivation, p: &StorePath| -> Result<()> {29- for name in names {30- let out = drv31- .outputs32- .get(name)33- .and_then(|o| o.path(&drv.name, name).ok())34- .flatten();35- let Some(out) = out else {36- return Err(Error::Plan(format!(37- "'{p}': output '{name}' has no statically known path; the build \38+ let mut resolve =39+ |names: &BTreeSet<String>, drv: &Derivation, p: &StorePath| -> Result<()> {40+ for name in names {41+ let out = drv42+ .outputs43+ .get(name)44+ .and_then(|o| o.path(&drv.name, name).ok())45+ .flatten();46+ let Some(out) = out else {47+ return Err(Error::Plan(format!(48+ "'{p}': output '{name}' has no statically known path; the build \49 farm needs statically known input and output paths"50- )));51- };52- if asked.insert(out.clone()) {53- paths.push(out);54+ )));55+ };56+ if asked.insert(out.clone()) {57+ paths.push(out);58+ }59 }60- }61- Ok(())62- };63+ Ok(())64+ };65 for (p, names) in &needs {66 resolve(names, &drvs[*p], p)?;67 }68Diff in /build/source/src/remote/grpc/backend.rs:342:69 }70 }71 if !paths.is_empty() {72- let names: Vec<String> =73- paths.iter().map(|p| p.base_name().to_string()).collect();74+ let names: Vec<String> = paths.iter().map(|p| p.base_name().to_string()).collect();75 valid.extend(query(&names)?);76 }77 let mut missing: HashSet<&'a StorePath> = HashSet::new();78Diff in /build/source/src/remote/grpc/backend.rs:350:79 for p in needs.keys() {80 let drv = &drvs[*p];81 let held = needs[*p].iter().all(|name| {82- drv.outputs.get(name).and_then(|o| o.path(&drv.name, name).ok()).flatten().is_some_and(83- |out| valid.contains(out.base_name()),84- )85+ drv.outputs86+ .get(name)87+ .and_then(|o| o.path(&drv.name, name).ok())88+ .flatten()89+ .is_some_and(|out| valid.contains(out.base_name()))90 });91 if !held {92 missing.insert(*p);93Diff in /build/source/src/remote/grpc/backend.rs:632:94 assert_eq!(needs, vec!["a", "b", "c", "d", "root"]);95 assert_eq!(96 calls,97- vec![vec!["root-out"], vec!["a-out"], vec!["b-out", "c-out", "d-out"]]98+ vec![99+ vec!["root-out"],100+ vec!["a-out"],101+ vec!["b-out", "c-out", "d-out"]102+ ]103 );104 }105 106Diff in /build/source/src/remote/grpc/backend.rs:642:107 assert_eq!(needs, vec!["a", "b", "root"]);108 assert_eq!(109 calls,110- vec![vec!["root-out"], vec!["a-out"], vec!["b-out", "c-out", "d-out"]]111+ vec![112+ vec!["root-out"],113+ vec!["a-out"],114+ vec!["b-out", "c-out", "d-out"]115+ ]116 );117 }118 119Diff in /build/source/src/remote/grpc/backend.rs:651:120 /// Needs travel down through missing derivations only.121 fn held_mid() -> BTreeMap<StorePath, Derivation> {122 let mut drvs = BTreeMap::new();123- let out =124- |n: &str, p: &str| (n.to_string(), DerivationOutput::InputAddressed(sp(p)));125+ let out = |n: &str, p: &str| (n.to_string(), DerivationOutput::InputAddressed(sp(p)));126 let dep = Derivation {127 name: "dep".into(),128 outputs: [out("out", "dep-out"), out("dev", "dep-dev")].into(),129Diff in /build/source/src/remote/grpc/backend.rs:698:130 /// in what only `dev` needs.131 fn two_outputs(used: &[&str]) -> BTreeMap<StorePath, Derivation> {132 let mut drvs = BTreeMap::new();133- let out =134- |n: &str| (n.to_string(), DerivationOutput::InputAddressed(sp(&format!("dep-{n}"))));135+ let out = |n: &str| {136+ (137+ n.to_string(),138+ DerivationOutput::InputAddressed(sp(&format!("dep-{n}"))),139+ )140+ };141 let dep = Derivation {142 name: "dep".into(),143 outputs: [out("out"), out("dev")].into(),144Diff in /build/source/src/remote/grpc/backend.rs:707:145 };146 let root = Derivation {147 name: "root".into(),148- outputs: [("out".to_string(), DerivationOutput::InputAddressed(sp("root-out")))].into(),149+ outputs: [(150+ "out".to_string(),151+ DerivationOutput::InputAddressed(sp("root-out")),152+ )]153+ .into(),154 input_drvs: [(155 sp("dep.drv"),156 InputNode::of(used.iter().map(|s| s.to_string()).collect()),157Diff in /build/source/src/remote/grpc/backend.rs:746:158 fn a_used_missing_output_below_a_missing_root_is_built() {159 // `dep-out` is used and missing: `dep` joins `root` in the build set,160 // while the unused `dep-dev` is never even asked about161- let (needs, calls) = run_raw(162- &two_outputs(&["out"]),163- &["root"],164- &["dep-dev".into()],165- );166+ let (needs, calls) = run_raw(&two_outputs(&["out"]), &["root"], &["dep-dev".into()]);167 assert_eq!(needs, vec!["dep", "root"]);168 assert_eq!(calls, vec![vec!["root-out"], vec!["dep-out"]]);169 }