// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. use std::marker::PhantomData; use crate::estimates::{ErrorCorrection, Factory, FactoryBuilder}; pub struct NoFactories { phantom: PhantomData, } impl Default for NoFactories { fn default() -> Self { Self { phantom: PhantomData, } } } #[derive(Clone)] pub struct NoFactory

{ phantom: PhantomData

, } impl> FactoryBuilder for NoFactories { type Factory = NoFactory; fn find_factories( &self, _ftp: &E, _qubit: &std::rc::Rc<::Qubit>, _magic_state_type: usize, _output_error_rate: f64, _max_code_parameter: &::Parameter, ) -> Result>, String> { unreachable!() } fn num_magic_state_types(&self) -> usize { 0 } } impl Factory for NoFactory

{ type Parameter = P; fn physical_qubits(&self) -> u64 { unreachable!() } fn duration(&self) -> u64 { unreachable!() } fn num_output_states(&self) -> u64 { unreachable!() } fn max_code_parameter(&self) -> Option> { unreachable!() } }