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::Event;
11use crate::Reporter;
12use crate::ReporterError;
13
14/// Reporter that disables an entire operation at start.
15#[derive(Clone, Copy, Debug, Default)]
16pub struct NoopReporter;
17impl Reporter for NoopReporter {
18 /// Disables operations that use this reporter.
19 fn is_enabled(&self) -> bool {
20 false
21 }
22 /// Accepts events defensively when called outside [`crate::Progress`].
23 fn report(&self, _event: &Event) -> Result<(), ReporterError> {
24 Ok(())
25 }
26}