#[cfg(feature = "async")] use std::pin::Pin; #[cfg(feature = "dispatch_tree")] use crate::Dispatcher; use crate::{AnyOutput, ChainProcess, Groupped, ProgramCollect, RenderResult}; #[cfg(feature = "structural_renderer")] use crate::{StructuralRendererSetting, error::StructuralRendererSerializeError}; #[cfg(feature = "comp")] use crate::{ShellContext, Suggest}; #[cfg(feature = "structural_renderer")] use serde::Serialize; #[cfg_attr(feature = "structural_renderer", derive(Serialize))] #[allow(unused)] pub enum MockProgramCollect { Foo, Bar, } impl Groupped for MockProgramCollect { fn member_id() -> MockProgramCollect { MockProgramCollect::Foo } } impl ProgramCollect for MockProgramCollect { type Enum = MockProgramCollect; type ErrorDispatcherNotFound = MockProgramCollect; type ErrorRendererNotFound = MockProgramCollect; type ResultEmpty = MockProgramCollect; #[cfg(feature = "dispatch_tree")] fn dispatch_args_trie( _raw: &[String], ) -> Result, crate::error::ProgramInternalExecuteError> { unreachable!() } #[cfg(feature = "dispatch_tree")] fn get_nodes() -> Vec<(String, &'static (dyn Dispatcher + Send + Sync))> { unreachable!() } fn build_renderer_not_found(_member_id: Self::Enum) -> AnyOutput { unreachable!() } fn build_dispatcher_not_found(_args: Vec) -> AnyOutput { unreachable!() } fn build_empty_result() -> AnyOutput { unreachable!() } fn render(_any: AnyOutput, _r: &mut RenderResult) { unreachable!() } fn render_help(_any: AnyOutput, _r: &mut RenderResult) { unreachable!() } #[cfg(feature = "async")] fn do_chain( _any: AnyOutput, ) -> Pin> + Send>> { unreachable!() } #[cfg(not(feature = "async"))] fn do_chain(_any: AnyOutput) -> ChainProcess { unreachable!() } #[cfg(feature = "comp")] fn do_comp(_any: &AnyOutput, _ctx: &ShellContext) -> Suggest { unreachable!() } fn has_renderer(_any: &AnyOutput) -> bool { unreachable!() } fn has_chain(_any: &AnyOutput) -> bool { unreachable!() } #[cfg(feature = "structural_renderer")] fn structural_render( _any: AnyOutput, _setting: &StructuralRendererSetting, ) -> Result { unreachable!() } }