cargo-reclaim 0.2.2

Safe Cargo cleanup for target directories, stale artifacts, and Cargo home caches
Documentation
use crate::model::{ArtifactClass, PathSnapshot, TargetEvidence};

use super::TargetContext;

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct PlannerCandidate {
    pub snapshot: PathSnapshot,
    pub artifact_class: ArtifactClass,
    pub evidence: TargetEvidence,
    pub target_context: Option<TargetContext>,
}

impl PlannerCandidate {
    pub fn new(
        snapshot: PathSnapshot,
        artifact_class: ArtifactClass,
        evidence: TargetEvidence,
    ) -> Self {
        Self {
            snapshot,
            artifact_class,
            evidence,
            target_context: None,
        }
    }

    pub fn with_target_context(mut self, target_context: TargetContext) -> Self {
        self.target_context = Some(target_context);
        self
    }
}