Skip to main content

ArgumentResultExt

Trait ArgumentResultExt 

Source
pub trait ArgumentResultExt<T>: Sealed + Sized {
    // Required method
    fn with_path_prefix(self, prefix: &str) -> ArgumentResult<T>;
}
Expand description

Adds nested argument-path context to validation results.

Successful results are returned unchanged and do not allocate a path. Failed results consume their crate::ArgumentError and prepend the supplied parent path while preserving the structured failure kind.

The trait is sealed and implemented only for ArgumentResult.

§Type Parameters

  • T: The value type carried by a successful argument result.

§Examples

use qubit_argument::{ArgumentError, ArgumentErrorKind, ArgumentResultExt};

let result: Result<(), _> = Err(ArgumentError::new(
    "value",
    ArgumentErrorKind::Missing,
));
let error = result.with_path_prefix("user").unwrap_err();
assert_eq!(error.path().as_str(), "user.value");

Required Methods§

Source

fn with_path_prefix(self, prefix: &str) -> ArgumentResult<T>

Prepends a parent path to a validation failure.

§Parameters
  • prefix: The parent path to add before an error’s current path.
§Returns

The unchanged successful value, or the original validation error with its path prefixed.

§Errors

Returns the original validation error with prefix prepended to its path when the result is an error.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§