Skip to main content

semdiff_differ_binary/
report_summary.rs

1use crate::{BinaryDiff, BinaryDiffReporter};
2use semdiff_core::fs::FileLeaf;
3use semdiff_core::{DetailReporter, MayUnsupported};
4use semdiff_output::summary::SummaryReport;
5use std::convert;
6
7impl<W> DetailReporter<BinaryDiff, FileLeaf, SummaryReport<W>> for BinaryDiffReporter {
8    type Error = convert::Infallible;
9
10    fn report_unchanged(
11        &self,
12        _name: &str,
13        _diff: &BinaryDiff,
14        reporter: &SummaryReport<W>,
15    ) -> Result<MayUnsupported<()>, Self::Error> {
16        reporter.increment_unchanged();
17        Ok(MayUnsupported::Ok(()))
18    }
19
20    fn report_modified(
21        &self,
22        _name: &str,
23        _diff: &BinaryDiff,
24        reporter: &SummaryReport<W>,
25    ) -> Result<MayUnsupported<()>, Self::Error> {
26        reporter.increment_modified();
27        Ok(MayUnsupported::Ok(()))
28    }
29
30    fn report_added(
31        &self,
32        _name: &str,
33        _data: &FileLeaf,
34        reporter: &SummaryReport<W>,
35    ) -> Result<MayUnsupported<()>, Self::Error> {
36        reporter.increment_added();
37        Ok(MayUnsupported::Ok(()))
38    }
39
40    fn report_deleted(
41        &self,
42        _name: &str,
43        _data: &FileLeaf,
44        reporter: &SummaryReport<W>,
45    ) -> Result<MayUnsupported<()>, Self::Error> {
46        reporter.increment_deleted();
47        Ok(MayUnsupported::Ok(()))
48    }
49}