pub trait TextOrPet<const UNESCAPED: u128> {
type UriEncoded<'a>: Display
where
Self: 'a;
fn to_uri_component(&self) -> Self::UriEncoded<'_>;
fn contains_unescaped(&self, needle: char) -> bool { ... }
fn equals(&self, other: &impl TextOrPet<UNESCAPED>) -> bool { ... }
fn iter_equals<O: TextOrPet<UNESCAPED>>(
s: impl Iterator<Item = Self>,
o: impl Iterator<Item = O>
) -> bool
where
Self: Sized,
{ ... }
}Expand description
A text (or PET) component of a CRI
It does not need to implement Display on its own (but rather delegates it to an
.to_uri_component() function) in order to allow implementing a more IRI-ish Display (suitable
for printing). on the TextOrPet; if that is not desired, .to_uri_component() can return &self.