pub struct Lower<P>(/* private fields */);Expand description
A case adapter for a character profile that accepts uncased and lowercase characters.
Trait Implementations§
impl<P: CharProfile> CasedProfile for Lower<P>
Source§impl<P: CharProfile> Profile for Lower<P>
impl<P: CharProfile> Profile for Lower<P>
Source§const APPEND_CLOSED: AppendClosed = P::APPEND_CLOSED
const APPEND_CLOSED: AppendClosed = P::APPEND_CLOSED
Whether or not a fragment containing characters in this profile are
append-closed. Read more
Source§type BaseProfile = P
type BaseProfile = P
The underlying profile that this profile is based on. Read more
Source§type Segmentation = <P as Profile>::Segmentation
type Segmentation = <P as Profile>::Segmentation
The segmentation strategy that this profile uses. Read more
Source§fn is_ident_start(c: char) -> bool
fn is_ident_start(c: char) -> bool
Whether or not the provided character can appear at the absolute start
of an identifier. Read more
Source§fn is_chunk_start(c: char) -> bool
fn is_chunk_start(c: char) -> bool
Whether or not the provided character can appear at the start of a new
chunk (e.g. right after a delimiter). Read more
Source§fn in_profile(c: char) -> bool
fn in_profile(c: char) -> bool
Whether or not the provided character can appear at any point in a
chunk. Read more
Source§fn is_chunk_continue(c: char) -> bool
fn is_chunk_continue(c: char) -> bool
Whether or not the provided character is valid at any position after the
first character of a chunk (a run of non-delimiter characters).
impl<Superset, Subset> SubsetOf<Lower<Superset>> for Lower<Subset>
Proof: If Super ⊆ Subset, then Lower<Super> ⊆ Lower<Subset>.
Let’s pretend that Superset=Unicode, and Subset=Ascii.
If Ascii: SubsetOf<Unicode> (true), then this implies the following:
Lower<Ascii>: SubsetOf<Lower<Unicode>>
§Proof
left_is_subset_of_right::<Lower<Ascii>, Lower<Ascii>>();
left_is_subset_of_right::<Lower<Unicode>, Lower<Unicode>>();
left_is_subset_of_right::<Lower<Ascii>, Lower<Unicode>>();impl<Superset, Subset> SubsetOf<LowerCamel<Superset>> for Lower<Subset>
Proof: If Super ⊆ Subset, then LowerCamel<Super> ⊆ Lower<Subset>
(because LowerCamel ⊆ Lower).
Let’s pretend that Superset=Unicode, and Subset=Ascii.
If Ascii: SubsetOf<Unicode> (true), then this implies the following:
Lower<Ascii>: SubsetOf<LowerCamel<Unicode>>
§Proof
left_is_subset_of_right::<Lower<Ascii>, LowerCamel<Ascii>>();
left_is_subset_of_right::<Lower<Unicode>, LowerCamel<Unicode>>();
left_is_subset_of_right::<Lower<Ascii>, LowerCamel<Unicode>>();impl<Superset, Subset> SubsetOf<Superset> for Lower<Subset>
Proof: If Super ⊆ Subset, then Super ⊆ Lower<Subset>.
Let’s pretend that Superset=Unicode, and Subset=Ascii.
If Ascii: SubsetOf<Unicode> (true), then this implies the following:
Lower<Ascii>: SubsetOf<Unicode>
§Proof
left_is_subset_of_right::<Lower<Ascii>, Ascii>();
left_is_subset_of_right::<Lower<Unicode>, Unicode>();
left_is_subset_of_right::<Lower<Ascii>, Unicode>();Auto Trait Implementations§
impl<P> Freeze for Lower<P>where
PhantomData<P>: Freeze,
impl<P> RefUnwindSafe for Lower<P>where
PhantomData<P>: RefUnwindSafe,
impl<P> Send for Lower<P>where
PhantomData<P>: Send,
impl<P> Sync for Lower<P>where
PhantomData<P>: Sync,
impl<P> Unpin for Lower<P>where
PhantomData<P>: Unpin,
impl<P> UnsafeUnpin for Lower<P>where
PhantomData<P>: UnsafeUnpin,
impl<P> UnwindSafe for Lower<P>where
PhantomData<P>: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more