pub enum STeXAnnot {
Show 34 variants
Module {
uri: ModuleURI,
name_range: SourceRange<LSPLineCol>,
opts: Vec<SModuleArg<LSPLineCol, Self>>,
sig: Option<Language>,
meta_theory: Option<ModuleReference>,
full_range: SourceRange<LSPLineCol>,
smodule_range: SourceRange<LSPLineCol>,
children: Vec<Self>,
},
MathStructure {
uri: SymbolReference<LSPLineCol>,
extends: Vec<(SymbolReference<LSPLineCol>, SourceRange<LSPLineCol>)>,
name_range: SourceRange<LSPLineCol>,
opts: Vec<MathStructureArg<LSPLineCol, Self>>,
full_range: SourceRange<LSPLineCol>,
children: Vec<Self>,
mathstructure_range: SourceRange<LSPLineCol>,
},
ConservativeExt {
uri: SymbolReference<LSPLineCol>,
ext_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
extstructure_range: SourceRange<LSPLineCol>,
children: Vec<Self>,
},
MorphismEnv {
full_range: SourceRange<LSPLineCol>,
name_range: SourceRange<LSPLineCol>,
env_range: SourceRange<LSPLineCol>,
uri: SymbolURI,
star: bool,
domain: ModuleOrStruct<LSPLineCol>,
domain_range: SourceRange<LSPLineCol>,
kind: MorphismKind,
children: Vec<Self>,
},
InlineMorphism {
full_range: SourceRange<LSPLineCol>,
token_range: SourceRange<LSPLineCol>,
name_range: SourceRange<LSPLineCol>,
uri: SymbolURI,
domain: ModuleOrStruct<LSPLineCol>,
domain_range: SourceRange<LSPLineCol>,
kind: MorphismKind,
assignments: Vec<InlineMorphAssign<LSPLineCol, Self>>,
},
SemanticMacro {
uri: SymbolReference<LSPLineCol>,
argnum: u8,
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
VariableMacro {
name: Name,
argnum: u8,
orig: SourceRange<LSPLineCol>,
sequence: bool,
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
Svar {
name: Name,
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
arg_range: SourceRange<LSPLineCol>,
name_range: Option<SourceRange<LSPLineCol>>,
},
ImportModule {
archive_range: Option<SourceRange<LSPLineCol>>,
path_range: SourceRange<LSPLineCol>,
module: ModuleReference,
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
UseModule {
archive_range: Option<SourceRange<LSPLineCol>>,
path_range: SourceRange<LSPLineCol>,
module: ModuleReference,
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
UseStructure {
structure: SymbolReference<LSPLineCol>,
structure_range: SourceRange<LSPLineCol>,
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
SetMetatheory {
archive_range: Option<SourceRange<LSPLineCol>>,
path_range: SourceRange<LSPLineCol>,
module: ModuleReference,
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
Inputref {
archive: Option<(ArchiveId, SourceRange<LSPLineCol>)>,
filepath: (Arc<str>, SourceRange<LSPLineCol>),
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
MHInput {
archive: Option<(ArchiveId, SourceRange<LSPLineCol>)>,
filepath: (Arc<str>, SourceRange<LSPLineCol>),
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
Symdecl {
uri: SymbolReference<LSPLineCol>,
main_name_range: SourceRange<LSPLineCol>,
parsed_args: Vec<SymdeclArg<LSPLineCol, Self>>,
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
TextSymdecl {
uri: SymbolReference<LSPLineCol>,
main_name_range: SourceRange<LSPLineCol>,
parsed_args: Vec<TextSymdeclArg<LSPLineCol, Self>>,
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
Notation {
uri: SmallVec<SymbolReference<LSPLineCol>, 1>,
token_range: SourceRange<LSPLineCol>,
name_range: SourceRange<LSPLineCol>,
notation_args: Vec<NotationArg<LSPLineCol, Self>>,
full_range: SourceRange<LSPLineCol>,
},
RenameDecl {
uri: SymbolReference<LSPLineCol>,
token_range: SourceRange<LSPLineCol>,
orig_range: SourceRange<LSPLineCol>,
name_range: Option<SourceRange<LSPLineCol>>,
macroname_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
Assign {
uri: SymbolReference<LSPLineCol>,
token_range: SourceRange<LSPLineCol>,
orig_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
Symdef {
uri: SymbolReference<LSPLineCol>,
main_name_range: SourceRange<LSPLineCol>,
parsed_args: Vec<SymdefArg<LSPLineCol, Self>>,
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
Vardef {
name: Name,
main_name_range: SourceRange<LSPLineCol>,
parsed_args: Vec<VardefArg<LSPLineCol, Self>>,
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
Varseq {
name: Name,
main_name_range: SourceRange<LSPLineCol>,
parsed_args: Vec<VardefArg<LSPLineCol, Self>>,
token_range: SourceRange<LSPLineCol>,
full_range: SourceRange<LSPLineCol>,
},
SymName {
uri: SmallVec<SymbolReference<LSPLineCol>, 1>,
full_range: SourceRange<LSPLineCol>,
token_range: SourceRange<LSPLineCol>,
name_range: SourceRange<LSPLineCol>,
mode: SymnameMode<LSPLineCol>,
},
IncludeProblem {
filepath: (Arc<str>, SourceRange<LSPLineCol>),
archive: Option<(ArchiveId, SourceRange<LSPLineCol>)>,
full_range: SourceRange<LSPLineCol>,
token_range: SourceRange<LSPLineCol>,
args: Vec<IncludeProblemArg<LSPLineCol>>,
},
Symuse {
uri: SmallVec<SymbolReference<LSPLineCol>, 1>,
full_range: SourceRange<LSPLineCol>,
token_range: SourceRange<LSPLineCol>,
name_range: SourceRange<LSPLineCol>,
},
Symref {
uri: SmallVec<SymbolReference<LSPLineCol>, 1>,
full_range: SourceRange<LSPLineCol>,
token_range: SourceRange<LSPLineCol>,
name_range: SourceRange<LSPLineCol>,
text: (SourceRange<LSPLineCol>, Vec<Self>),
},
Definiens {
uri: SmallVec<SymbolReference<LSPLineCol>, 1>,
full_range: SourceRange<LSPLineCol>,
token_range: SourceRange<LSPLineCol>,
name_range: Option<SourceRange<LSPLineCol>>,
},
Defnotation {
full_range: SourceRange<LSPLineCol>,
},
Paragraph {
kind: ParagraphKind,
full_range: SourceRange<LSPLineCol>,
name_range: SourceRange<LSPLineCol>,
symbol: Option<SymbolReference<LSPLineCol>>,
parsed_args: Vec<ParagraphArg<LSPLineCol, Self>>,
children: Vec<Self>,
},
Problem {
sub: bool,
full_range: SourceRange<LSPLineCol>,
name_range: SourceRange<LSPLineCol>,
parsed_args: Vec<ProblemArg<LSPLineCol, Self>>,
children: Vec<Self>,
},
Precondition {
uri: SmallVec<SymbolReference<LSPLineCol>, 1>,
full_range: SourceRange<LSPLineCol>,
token_range: SourceRange<LSPLineCol>,
dim_range: SourceRange<LSPLineCol>,
symbol_range: SourceRange<LSPLineCol>,
dim: CognitiveDimension,
},
Objective {
uri: SmallVec<SymbolReference<LSPLineCol>, 1>,
full_range: SourceRange<LSPLineCol>,
token_range: SourceRange<LSPLineCol>,
dim_range: SourceRange<LSPLineCol>,
symbol_range: SourceRange<LSPLineCol>,
dim: CognitiveDimension,
},
InlineParagraph {
kind: ParagraphKind,
full_range: SourceRange<LSPLineCol>,
token_range: SourceRange<LSPLineCol>,
symbol: Option<SymbolReference<LSPLineCol>>,
parsed_args: Vec<ParagraphArg<LSPLineCol, Self>>,
children: Vec<Self>,
children_range: SourceRange<LSPLineCol>,
},
MHGraphics {
filepath: (Arc<str>, SourceRange<LSPLineCol>),
archive: Option<(ArchiveId, SourceRange<LSPLineCol>)>,
full_range: SourceRange<LSPLineCol>,
token_range: SourceRange<LSPLineCol>,
args: Vec<MHGraphicsArg<LSPLineCol>>,
},
}
Variants§
Module
Fields
§
name_range: SourceRange<LSPLineCol>
§
opts: Vec<SModuleArg<LSPLineCol, Self>>
§
meta_theory: Option<ModuleReference>
§
full_range: SourceRange<LSPLineCol>
§
smodule_range: SourceRange<LSPLineCol>
MathStructure
Fields
§
uri: SymbolReference<LSPLineCol>
§
extends: Vec<(SymbolReference<LSPLineCol>, SourceRange<LSPLineCol>)>
§
name_range: SourceRange<LSPLineCol>
§
opts: Vec<MathStructureArg<LSPLineCol, Self>>
§
full_range: SourceRange<LSPLineCol>
§
mathstructure_range: SourceRange<LSPLineCol>
ConservativeExt
Fields
§
uri: SymbolReference<LSPLineCol>
§
ext_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
§
extstructure_range: SourceRange<LSPLineCol>
MorphismEnv
Fields
§
full_range: SourceRange<LSPLineCol>
§
name_range: SourceRange<LSPLineCol>
§
env_range: SourceRange<LSPLineCol>
§
domain: ModuleOrStruct<LSPLineCol>
§
domain_range: SourceRange<LSPLineCol>
§
kind: MorphismKind
InlineMorphism
Fields
§
full_range: SourceRange<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
name_range: SourceRange<LSPLineCol>
§
domain: ModuleOrStruct<LSPLineCol>
§
domain_range: SourceRange<LSPLineCol>
§
kind: MorphismKind
§
assignments: Vec<InlineMorphAssign<LSPLineCol, Self>>
SemanticMacro
Fields
§
uri: SymbolReference<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
VariableMacro
Fields
§
orig: SourceRange<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
Svar
Fields
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
§
arg_range: SourceRange<LSPLineCol>
§
name_range: Option<SourceRange<LSPLineCol>>
ImportModule
Fields
§
archive_range: Option<SourceRange<LSPLineCol>>
§
path_range: SourceRange<LSPLineCol>
§
module: ModuleReference
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
UseModule
Fields
§
archive_range: Option<SourceRange<LSPLineCol>>
§
path_range: SourceRange<LSPLineCol>
§
module: ModuleReference
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
UseStructure
Fields
§
structure: SymbolReference<LSPLineCol>
§
structure_range: SourceRange<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
SetMetatheory
Fields
§
archive_range: Option<SourceRange<LSPLineCol>>
§
path_range: SourceRange<LSPLineCol>
§
module: ModuleReference
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
Inputref
Fields
§
archive: Option<(ArchiveId, SourceRange<LSPLineCol>)>
§
filepath: (Arc<str>, SourceRange<LSPLineCol>)
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
MHInput
Fields
§
archive: Option<(ArchiveId, SourceRange<LSPLineCol>)>
§
filepath: (Arc<str>, SourceRange<LSPLineCol>)
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
Symdecl
Fields
§
uri: SymbolReference<LSPLineCol>
§
main_name_range: SourceRange<LSPLineCol>
§
parsed_args: Vec<SymdeclArg<LSPLineCol, Self>>
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
TextSymdecl
Fields
§
uri: SymbolReference<LSPLineCol>
§
main_name_range: SourceRange<LSPLineCol>
§
parsed_args: Vec<TextSymdeclArg<LSPLineCol, Self>>
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
Notation
Fields
§
uri: SmallVec<SymbolReference<LSPLineCol>, 1>
§
token_range: SourceRange<LSPLineCol>
§
name_range: SourceRange<LSPLineCol>
§
notation_args: Vec<NotationArg<LSPLineCol, Self>>
§
full_range: SourceRange<LSPLineCol>
RenameDecl
Fields
§
uri: SymbolReference<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
orig_range: SourceRange<LSPLineCol>
§
name_range: Option<SourceRange<LSPLineCol>>
§
macroname_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
Assign
Fields
§
uri: SymbolReference<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
orig_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
Symdef
Fields
§
uri: SymbolReference<LSPLineCol>
§
main_name_range: SourceRange<LSPLineCol>
§
parsed_args: Vec<SymdefArg<LSPLineCol, Self>>
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
Vardef
Fields
§
main_name_range: SourceRange<LSPLineCol>
§
parsed_args: Vec<VardefArg<LSPLineCol, Self>>
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
Varseq
Fields
§
main_name_range: SourceRange<LSPLineCol>
§
parsed_args: Vec<VardefArg<LSPLineCol, Self>>
§
token_range: SourceRange<LSPLineCol>
§
full_range: SourceRange<LSPLineCol>
SymName
Fields
§
uri: SmallVec<SymbolReference<LSPLineCol>, 1>
§
full_range: SourceRange<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
name_range: SourceRange<LSPLineCol>
§
mode: SymnameMode<LSPLineCol>
IncludeProblem
Fields
§
filepath: (Arc<str>, SourceRange<LSPLineCol>)
§
archive: Option<(ArchiveId, SourceRange<LSPLineCol>)>
§
full_range: SourceRange<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
args: Vec<IncludeProblemArg<LSPLineCol>>
Symuse
Fields
§
uri: SmallVec<SymbolReference<LSPLineCol>, 1>
§
full_range: SourceRange<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
name_range: SourceRange<LSPLineCol>
Symref
Fields
§
uri: SmallVec<SymbolReference<LSPLineCol>, 1>
§
full_range: SourceRange<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
name_range: SourceRange<LSPLineCol>
§
text: (SourceRange<LSPLineCol>, Vec<Self>)
Definiens
Fields
§
uri: SmallVec<SymbolReference<LSPLineCol>, 1>
§
full_range: SourceRange<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
name_range: Option<SourceRange<LSPLineCol>>
Defnotation
Fields
§
full_range: SourceRange<LSPLineCol>
Paragraph
Fields
§
kind: ParagraphKind
§
full_range: SourceRange<LSPLineCol>
§
name_range: SourceRange<LSPLineCol>
§
symbol: Option<SymbolReference<LSPLineCol>>
§
parsed_args: Vec<ParagraphArg<LSPLineCol, Self>>
Problem
Fields
§
full_range: SourceRange<LSPLineCol>
§
name_range: SourceRange<LSPLineCol>
§
parsed_args: Vec<ProblemArg<LSPLineCol, Self>>
Precondition
Fields
§
uri: SmallVec<SymbolReference<LSPLineCol>, 1>
§
full_range: SourceRange<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
dim_range: SourceRange<LSPLineCol>
§
symbol_range: SourceRange<LSPLineCol>
§
dim: CognitiveDimension
Objective
Fields
§
uri: SmallVec<SymbolReference<LSPLineCol>, 1>
§
full_range: SourceRange<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
dim_range: SourceRange<LSPLineCol>
§
symbol_range: SourceRange<LSPLineCol>
§
dim: CognitiveDimension
InlineParagraph
Fields
§
kind: ParagraphKind
§
full_range: SourceRange<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
symbol: Option<SymbolReference<LSPLineCol>>
§
parsed_args: Vec<ParagraphArg<LSPLineCol, Self>>
§
children_range: SourceRange<LSPLineCol>
MHGraphics
Fields
§
filepath: (Arc<str>, SourceRange<LSPLineCol>)
§
archive: Option<(ArchiveId, SourceRange<LSPLineCol>)>
§
full_range: SourceRange<LSPLineCol>
§
token_range: SourceRange<LSPLineCol>
§
args: Vec<MHGraphicsArg<LSPLineCol>>
Implementations§
Source§impl STeXAnnot
impl STeXAnnot
fn from_tokens<I: IntoIterator<Item = STeXToken<LSPLineCol>>>( iter: I, modules: Option<&mut SmallVec<(ModuleURI, ModuleRules<LSPLineCol>), 1>>, ) -> Vec<Self>
pub const fn range(&self) -> SourceRange<LSPLineCol>
Trait Implementations§
Source§impl TreeLike for STeXAnnot
impl TreeLike for STeXAnnot
type Child<'a> = &'a STeXAnnot
type RefIter<'a> = AnnotIter<'a>
fn children(&self) -> Option<Self::RefIter<'_>>
fn dfs(&self) -> Option<DFSIter<'_, Self>>
fn bfs(&self) -> Option<BFSIter<'_, Self>>
fn bfs_par<'a>(&'a self) -> Option<ParSpliter<BFSIter<'a, Self>>>
fn dfs_with_close<'a, R, SG, SL, Open, Close>( &'a self, state: &mut SG, open: Open, close: Close, ) -> Result<(), R>
fn display_nested<'a>( &'a self, f: &mut Formatter<'_>, open: impl Fn(&Self::Child<'a>, &mut Indentor<'_>, &mut Formatter<'_>) -> Result<DFSContinuation<()>, Error>, close: impl Fn(&Self::Child<'a>, &mut Formatter<'_>) -> Result<(), Error>, indent: Option<Indentor<'_>>, ) -> Result<(), Error>
fn display_children<'a, I>( i: I, f: &mut Formatter<'_>, open: impl Fn(&Self::Child<'a>, &mut Indentor<'_>, &mut Formatter<'_>) -> Result<DFSContinuation<()>, Error>, close: impl Fn(&Self::Child<'a>, &mut Formatter<'_>) -> Result<(), Error>, indent: Option<Indentor<'_>>, ) -> Result<(), Error>
Auto Trait Implementations§
impl Freeze for STeXAnnot
impl RefUnwindSafe for STeXAnnot
impl Send for STeXAnnot
impl Sync for STeXAnnot
impl Unpin for STeXAnnot
impl UnwindSafe for STeXAnnot
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more