McpResultExt

Trait McpResultExt 

Source
pub trait McpResultExt<T> {
    // Required methods
    fn context<C: Into<String>>(self, context: C) -> Result<T, McpError>;
    fn with_context<C, F>(self, f: F) -> Result<T, McpError>
       where C: Into<String>,
             F: FnOnce() -> C;
}
Expand description

Extension trait for adding context to Result types.

This provides anyhow-style context methods while preserving the typed error system.

§Example

use mcpkit_core::error::{McpError, McpResultExt};

fn process() -> Result<(), McpError> {
    let result: Result<(), McpError> = Err(McpError::internal("oops"));
    result.context("Failed to process data")?;
    Ok(())
}

Required Methods§

Source

fn context<C: Into<String>>(self, context: C) -> Result<T, McpError>

Add context to an error.

Source

fn with_context<C, F>(self, f: F) -> Result<T, McpError>
where C: Into<String>, F: FnOnce() -> C,

Add context lazily (only evaluated on error).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<T> McpResultExt<T> for Result<T, McpError>

Source§

fn context<C: Into<String>>(self, context: C) -> Self

Source§

fn with_context<C, F>(self, f: F) -> Self
where C: Into<String>, F: FnOnce() -> C,

Implementors§