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§
sourcefn describe_self() -> &'static str
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§
sourcefn from_normalized_str(s: &str) -> Result<Self, ParseErrors>
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.