Skip to main content

qubit_progress/reporter/
noop_reporter.rs

1// =============================================================================
2//    Copyright (c) 2025 - 2026 Haixing Hu.
3//
4//    SPDX-License-Identifier: Apache-2.0
5//
6//    Licensed under the Apache License, Version 2.0.
7// =============================================================================
8//! Explicit disabled reporter.
9
10use crate::{
11    Event,
12    Reporter,
13    ReporterError,
14};
15
16/// Reporter that disables an entire operation at start.
17#[derive(Clone, Copy, Debug, Default)]
18pub struct NoopReporter;
19impl Reporter for NoopReporter {
20    /// Disables operations that use this reporter.
21    fn is_enabled(&self) -> bool {
22        false
23    }
24    /// Accepts events defensively when called outside [`crate::Progress`].
25    fn report(&self, _event: &Event) -> Result<(), ReporterError> {
26        Ok(())
27    }
28}