pub struct STeXParseState<'a, Pos: SourcePos, MS: STeXModuleStore> {
pub(super) archive: Option<ArchiveURIRef<'a>>,
pub(super) in_path: Option<Arc<Path>>,
pub(super) doc_uri: &'a DocumentURI,
pub(super) backend: &'a AnyBackend,
pub(super) language: Language,
pub(super) dependencies: Vec<Arc<Path>>,
pub(super) modules: SmallVec<(ModuleURI, ModuleRules<Pos>), 1>,
module_store: MS,
name_counter: IdCounter,
}
Fields§
§archive: Option<ArchiveURIRef<'a>>
§in_path: Option<Arc<Path>>
§doc_uri: &'a DocumentURI
§backend: &'a AnyBackend
§language: Language
§dependencies: Vec<Arc<Path>>
§modules: SmallVec<(ModuleURI, ModuleRules<Pos>), 1>
§module_store: MS
§name_counter: IdCounter
Implementations§
Source§impl<'a, MS: STeXModuleStore> STeXParseState<'a, LSPLineCol, MS>
impl<'a, MS: STeXModuleStore> STeXParseState<'a, LSPLineCol, MS>
fn load_module( &mut self, module: &ModuleReference, ) -> Result<ModuleRules<LSPLineCol>, GetModuleError>
fn load_rules<'b, Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( mod_ref: ModuleReference, irules: ModuleRules<LSPLineCol>, prev: &[STeXGroup<'a, MS, LSPLineCol, Err>], current: &mut HMap<Cow<'a, str>, AnyMacro<'a, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>>, changes: &mut HMap<Cow<'a, str>, Option<AnyMacro<'a, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>>>, semantic_rules: &mut Vec<SemanticRule<LSPLineCol>>, f: &mut impl FnMut(&ModuleReference) -> Option<ModuleRules<LSPLineCol>>, cycles_count: u16, ) -> Result<(), ()>
fn has_module<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( prev: &[STeXGroup<'a, MS, LSPLineCol, Err>], current: &Vec<SemanticRule<LSPLineCol>>, mod_ref: &ModuleReference, ) -> bool
pub fn add_use<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( &mut self, module: &ModuleReference, groups: Groups<'a, '_, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>, range: SourceRange<LSPLineCol>, )
fn has_structure<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( prev: &[STeXGroup<'a, MS, LSPLineCol, Err>], current: &Vec<SemanticRule<LSPLineCol>>, sym_ref: &SymbolReference<LSPLineCol>, ) -> bool
fn load_structure<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( symbol: &SymbolReference<LSPLineCol>, prev: &[STeXGroup<'a, MS, LSPLineCol, Err>], semantic_rules: &Vec<SemanticRule<LSPLineCol>>, ) -> Option<ModuleRules<LSPLineCol>>
fn load_structure_rules<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( symbol: SymbolReference<LSPLineCol>, irules: ModuleRules<LSPLineCol>, prev: &[STeXGroup<'a, MS, LSPLineCol, Err>], current: &mut HMap<Cow<'a, str>, AnyMacro<'a, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>>, changes: &mut HMap<Cow<'a, str>, Option<AnyMacro<'a, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>>>, semantic_rules: &mut Vec<SemanticRule<LSPLineCol>>, )
pub fn import_structure<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( &mut self, symbol: &SymbolReference<LSPLineCol>, srules: &ModuleRules<LSPLineCol>, groups: &mut Groups<'a, '_, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>, range: SourceRange<LSPLineCol>, )
pub fn use_structure<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( &mut self, symbol: &SymbolReference<LSPLineCol>, srules: &ModuleRules<LSPLineCol>, groups: &mut Groups<'a, '_, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>, _range: SourceRange<LSPLineCol>, )
pub fn add_import<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( &mut self, module: &ModuleReference, groups: Groups<'a, '_, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>, range: SourceRange<LSPLineCol>, )
fn get_symbol_macro_or_name<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( &self, groups: &Groups<'a, '_, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>, namestr: &str, ) -> Option<SmallVec<SymbolReference<LSPLineCol>, 1>>
fn get_structure_macro_or_name<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( &self, groups: &Groups<'a, '_, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>, namestr: &str, ) -> Option<(SymbolReference<LSPLineCol>, ModuleRules<LSPLineCol>)>
fn compare( symbol: &str, module: &str, path: Option<&str>, uri: &SymbolURI, ) -> bool
fn get_symbol_complex<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( &self, groups: &Groups<'a, '_, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>, symbol: &str, module: &str, path: Option<&str>, ) -> Option<SmallVec<SymbolReference<LSPLineCol>, 1>>
fn get_structure_uri<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( &self, groups: &Groups<'a, '_, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>, uri: &SymbolReference<LSPLineCol>, ) -> Option<ModuleRules<LSPLineCol>>
fn get_structure_complex<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( &self, groups: &Groups<'a, '_, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>, namestr: &str, module: &str, path: Option<&str>, ) -> Option<(SymbolReference<LSPLineCol>, ModuleRules<LSPLineCol>)>
pub fn get_symbol<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( &self, start: LSPLineCol, groups: &mut Groups<'a, '_, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>, namestr: &str, ) -> Option<SmallVec<SymbolReference<LSPLineCol>, 1>>
pub fn get_structure<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( &self, groups: &Groups<'a, '_, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>, namestr: &str, ) -> Option<(SymbolReference<LSPLineCol>, ModuleRules<LSPLineCol>)>
pub(super) fn resolve_module_or_struct<Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel)>( &mut self, groups: &Groups<'a, '_, ParseStr<'a, LSPLineCol>, STeXToken<LSPLineCol>, Err, Self>, module_or_struct: &str, archive: Option<ArchiveId>, ) -> Option<(ModuleOrStruct<LSPLineCol>, Vec<ModuleRules<LSPLineCol>>)>
Source§impl<'a, Pos: SourcePos, MS: STeXModuleStore> STeXParseState<'a, Pos, MS>
impl<'a, Pos: SourcePos, MS: STeXModuleStore> STeXParseState<'a, Pos, MS>
pub fn new( archive: Option<ArchiveURIRef<'a>>, in_path: Option<&'a Path>, uri: &'a DocumentURI, backend: &'a AnyBackend, on_module: MS, ) -> Self
pub fn set_structure<Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel)>( &mut self, groups: &mut Groups<'a, '_, ParseStr<'a, Pos>, STeXToken<Pos>, Err, Self>, rules: ModuleRules<Pos>, range: SourceRange<Pos>, )
pub fn add_structure<Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel)>( &mut self, groups: &mut Groups<'a, '_, ParseStr<'a, Pos>, STeXToken<Pos>, Err, Self>, name: Name, macroname: Option<Arc<str>>, range: SourceRange<Pos>, ) -> Option<SymbolReference<Pos>>
fn new_id(&mut self, prefix: Cow<'static, str>) -> Box<str>
pub fn add_conservative_ext<Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel)>( &mut self, groups: &mut Groups<'a, '_, ParseStr<'a, Pos>, STeXToken<Pos>, Err, Self>, orig: &SymbolReference<Pos>, range: SourceRange<Pos>, ) -> Option<ModuleURI>
pub fn add_symbol<Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel)>( &mut self, groups: &mut Groups<'a, '_, ParseStr<'a, Pos>, STeXToken<Pos>, Err, Self>, name: Name, macroname: Option<Arc<str>>, range: SourceRange<Pos>, has_tp: bool, has_df: bool, argnum: u8, ) -> Option<SymbolReference<Pos>>
pub(super) fn resolve_module( &self, module: &'a str, archive: Option<ArchiveId>, ) -> Option<ModuleReference>
fn find_module(&self, m: &str) -> Option<(&ModuleURI, &ModuleRules<Pos>)>
Trait Implementations§
Source§impl<'a, MS: STeXModuleStore, Pos: SourcePos + 'a, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel)> GroupState<'a, ParseStr<'a, Pos>, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for STeXGroup<'a, MS, Pos, Err>
impl<'a, MS: STeXModuleStore, Pos: SourcePos + 'a, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel)> GroupState<'a, ParseStr<'a, Pos>, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for STeXGroup<'a, MS, Pos, Err>
fn new(parent: Option<&mut Self>) -> Self
fn inner( &self, ) -> &Group<'a, ParseStr<'a, Pos>, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>
fn inner_mut( &mut self, ) -> &mut Group<'a, ParseStr<'a, Pos>, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>
fn close( self, parser: &mut LaTeXParser<'a, ParseStr<'a, Pos>, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>, )
fn add_macro_rule( &mut self, name: Cow<'a, str>, old: Option<AnyMacro<'a, ParseStr<'a, Pos>, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>>, )
fn add_environment_rule( &mut self, name: Cow<'a, str>, old: Option<AnyEnv<'a, ParseStr<'a, Pos>, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>>, )
fn letter_change(&mut self, old: &str)
Source§impl<'a, Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, LSPLineCol, STeXToken<LSPLineCol>, Err, STeXParseState<'a, LSPLineCol, MS>> for ParagraphArg<LSPLineCol, STeXToken<LSPLineCol>>
impl<'a, Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, LSPLineCol, STeXToken<LSPLineCol>, Err, STeXParseState<'a, LSPLineCol, MS>> for ParagraphArg<LSPLineCol, STeXToken<LSPLineCol>>
fn next_val( parser: &mut KeyValParser<'a, '_, LSPLineCol, STeXToken<LSPLineCol>, Err, STeXParseState<'a, LSPLineCol, MS>>, key: &str, ) -> Option<Self>
Source§impl<'a, Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, LSPLineCol, STeXToken<LSPLineCol>, Err, STeXParseState<'a, LSPLineCol, MS>> for ProblemArg<LSPLineCol, STeXToken<LSPLineCol>>
impl<'a, Err: FnMut(String, SourceRange<LSPLineCol>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, LSPLineCol, STeXToken<LSPLineCol>, Err, STeXParseState<'a, LSPLineCol, MS>> for ProblemArg<LSPLineCol, STeXToken<LSPLineCol>>
fn next_val( parser: &mut KeyValParser<'a, '_, LSPLineCol, STeXToken<LSPLineCol>, Err, STeXParseState<'a, LSPLineCol, MS>>, key: &str, ) -> Option<Self>
Source§impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for IncludeProblemArg<Pos>
impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for IncludeProblemArg<Pos>
fn next_val( parser: &mut KeyValParser<'a, '_, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>, key: &str, ) -> Option<Self>
Source§impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for MHGraphicsArg<Pos>
impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for MHGraphicsArg<Pos>
fn next_val( parser: &mut KeyValParser<'a, '_, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>, key: &str, ) -> Option<Self>
Source§impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for MathStructureArg<Pos, STeXToken<Pos>>
impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for MathStructureArg<Pos, STeXToken<Pos>>
fn next_val( parser: &mut KeyValParser<'a, '_, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>, key: &str, ) -> Option<Self>
Source§impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for NotationArg<Pos, STeXToken<Pos>>
impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for NotationArg<Pos, STeXToken<Pos>>
fn next_val( parser: &mut KeyValParser<'a, '_, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>, key: &str, ) -> Option<Self>
Source§impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for SModuleArg<Pos, STeXToken<Pos>>
impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for SModuleArg<Pos, STeXToken<Pos>>
fn next_val( parser: &mut KeyValParser<'a, '_, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>, key: &str, ) -> Option<Self>
Source§impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for SymdeclArg<Pos, STeXToken<Pos>>
impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for SymdeclArg<Pos, STeXToken<Pos>>
fn next_val( parser: &mut KeyValParser<'a, '_, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>, key: &str, ) -> Option<Self>
Source§impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for SymdefArg<Pos, STeXToken<Pos>>
impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for SymdefArg<Pos, STeXToken<Pos>>
fn next_val( parser: &mut KeyValParser<'a, '_, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>, key: &str, ) -> Option<Self>
Source§impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for TextSymdeclArg<Pos, STeXToken<Pos>>
impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for TextSymdeclArg<Pos, STeXToken<Pos>>
fn next_val( parser: &mut KeyValParser<'a, '_, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>, key: &str, ) -> Option<Self>
Source§impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for VardefArg<Pos, STeXToken<Pos>>
impl<'a, Pos: SourcePos, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel), MS: STeXModuleStore> KeyValKind<'a, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>> for VardefArg<Pos, STeXToken<Pos>>
fn next_val( parser: &mut KeyValParser<'a, '_, Pos, STeXToken<Pos>, Err, STeXParseState<'a, Pos, MS>>, key: &str, ) -> Option<Self>
Source§impl<'a, MS: STeXModuleStore, Pos: SourcePos + 'a, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel)> ParserState<'a, ParseStr<'a, Pos>, STeXToken<Pos>, Err> for STeXParseState<'a, Pos, MS>
impl<'a, MS: STeXModuleStore, Pos: SourcePos + 'a, Err: FnMut(String, SourceRange<Pos>, DiagnosticLevel)> ParserState<'a, ParseStr<'a, Pos>, STeXToken<Pos>, Err> for STeXParseState<'a, Pos, MS>
Auto Trait Implementations§
impl<'a, Pos, MS> Freeze for STeXParseState<'a, Pos, MS>where
MS: Freeze,
impl<'a, Pos, MS> !RefUnwindSafe for STeXParseState<'a, Pos, MS>
impl<'a, Pos, MS> Send for STeXParseState<'a, Pos, MS>
impl<'a, Pos, MS> Sync for STeXParseState<'a, Pos, MS>
impl<'a, Pos, MS> Unpin for STeXParseState<'a, Pos, MS>where
MS: Unpin,
impl<'a, Pos, MS> !UnwindSafe for STeXParseState<'a, Pos, MS>
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
§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