Trait cedar_policy_core::FromNormalizedStr

source ·
pub trait FromNormalizedStr: FromStr<Err = ParseErrors> + Display {
    // Required method
    fn describe_self() -> &'static str;

    // Provided method
    fn from_normalized_str(s: &str) -> Result<Self, ParseErrors> { ... }
}
Expand description

Trait for parsing “normalized” strings only, throwing an error if a non-normalized string is encountered. See docs on the [from_normalized_str] trait function.

Required Methods§

source

fn describe_self() -> &'static str

Short string description of the Self type, to be used in error messages. What are we trying to parse?

Provided Methods§

source

fn from_normalized_str(s: &str) -> Result<Self, ParseErrors>

Create a Self by parsing a string, which is required to be normalized. That is, the input is required to roundtrip with the Display impl on Self: Self::from_normalized_str(x).to_string() == x must hold.

In Cedar’s context, that means that from_normalized_str() will not accept strings with spurious whitespace (e.g. A :: B :: C::"foo"), Cedar comments (e.g. A::B::"bar" // comment), etc. See RFC 9 for more details and justification.

For the version that accepts whitespace and Cedar comments, use the actual FromStr implementations.

Object Safety§

This trait is not object safe.

Implementors§