in src/buckify.rs [116:145]
fn generate_rules<'scope>(
context: &'scope RuleContext<'scope>,
scope: &rayon::Scope<'scope>,
rule_tx: mpsc::Sender<Result<Rule>>,
pkg: &'scope Manifest,
) {
for tgt in &pkg.targets {
match generate_target_rules(context, pkg, tgt) {
Ok((rules, _)) if rules.is_empty() => {
// Don't generate rules for dependencies if we're not emitting
// any rules for this target.
}
Ok((rules, deps)) => {
for rule in rules {
let _ = rule_tx.send(Ok(rule));
}
generate_dep_rules(context, scope, rule_tx.clone(), deps);
}
Err(err) => {
log::error!(
"pkg {} target {}: rule generation failed: {:?}",
pkg,
tgt.name,
err
);
let _ = rule_tx.send(Err(err));
}
}
}
}