pub trait ErrorHandler<ET: EngineTypes> {
Show 15 methods
// Required method
fn new() -> Self;
// Provided methods
fn invalid_character(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_c: ET::Char,
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
fn wrong_definition(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_found: &ET::Token,
_expected: &ET::Token,
_in_macro: &ET::Token,
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
fn file_end_while_use(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_in_macro: &ET::Token,
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
fn too_many_closebraces(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
fn missing_begingroup(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
fn missing_dollar(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
fn missing_endgroup(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
fn incomplete_conditional(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_name: PrimitiveIdentifier,
_line_no: usize,
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
fn undefined(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_token: &ET::Token,
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
fn paragraph_ended(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_token: &ET::Token,
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
fn not_allowed_in_mode(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_name: PrimitiveIdentifier,
_mode: TeXMode,
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
fn missing_keyword(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_kws: &'static [&'static str],
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
fn missing_number(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
fn other(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_msg: &str,
) -> Result<Option<StringLineSource<ET::Char>>, ()> { ... }
}Expand description
Trait for error recovery, to be implemented for an engine.
Required Methods§
Provided Methods§
Sourcefn invalid_character(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_c: ET::Char,
) -> Result<Option<StringLineSource<ET::Char>>, ()>
fn invalid_character( &self, _out: &ET::Outputs, _memory: &MemoryManager<ET::Token>, _state: &ET::State, _c: ET::Char, ) -> Result<Option<StringLineSource<ET::Char>>, ()>
Sourcefn wrong_definition(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_found: &ET::Token,
_expected: &ET::Token,
_in_macro: &ET::Token,
) -> Result<Option<StringLineSource<ET::Char>>, ()>
fn wrong_definition( &self, _out: &ET::Outputs, _memory: &MemoryManager<ET::Token>, _state: &ET::State, _found: &ET::Token, _expected: &ET::Token, _in_macro: &ET::Token, ) -> Result<Option<StringLineSource<ET::Char>>, ()>
Sourcefn file_end_while_use(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_in_macro: &ET::Token,
) -> Result<Option<StringLineSource<ET::Char>>, ()>
fn file_end_while_use( &self, _out: &ET::Outputs, _memory: &MemoryManager<ET::Token>, _state: &ET::State, _in_macro: &ET::Token, ) -> Result<Option<StringLineSource<ET::Char>>, ()>
Sourcefn too_many_closebraces(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
) -> Result<Option<StringLineSource<ET::Char>>, ()>
fn too_many_closebraces( &self, _out: &ET::Outputs, _memory: &MemoryManager<ET::Token>, _state: &ET::State, ) -> Result<Option<StringLineSource<ET::Char>>, ()>
Sourcefn missing_begingroup(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
) -> Result<Option<StringLineSource<ET::Char>>, ()>
fn missing_begingroup( &self, _out: &ET::Outputs, _memory: &MemoryManager<ET::Token>, _state: &ET::State, ) -> Result<Option<StringLineSource<ET::Char>>, ()>
Sourcefn missing_dollar(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
) -> Result<Option<StringLineSource<ET::Char>>, ()>
fn missing_dollar( &self, _out: &ET::Outputs, _memory: &MemoryManager<ET::Token>, _state: &ET::State, ) -> Result<Option<StringLineSource<ET::Char>>, ()>
Sourcefn missing_endgroup(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
) -> Result<Option<StringLineSource<ET::Char>>, ()>
fn missing_endgroup( &self, _out: &ET::Outputs, _memory: &MemoryManager<ET::Token>, _state: &ET::State, ) -> Result<Option<StringLineSource<ET::Char>>, ()>
Sourcefn incomplete_conditional(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_name: PrimitiveIdentifier,
_line_no: usize,
) -> Result<Option<StringLineSource<ET::Char>>, ()>
fn incomplete_conditional( &self, _out: &ET::Outputs, _memory: &MemoryManager<ET::Token>, _state: &ET::State, _name: PrimitiveIdentifier, _line_no: usize, ) -> Result<Option<StringLineSource<ET::Char>>, ()>
“Incomplete \if…; all text was ignored after line n”.
§Errors
because that’s what it’s supposed to do
Sourcefn undefined(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_token: &ET::Token,
) -> Result<Option<StringLineSource<ET::Char>>, ()>
fn undefined( &self, _out: &ET::Outputs, _memory: &MemoryManager<ET::Token>, _state: &ET::State, _token: &ET::Token, ) -> Result<Option<StringLineSource<ET::Char>>, ()>
Sourcefn paragraph_ended(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_token: &ET::Token,
) -> Result<Option<StringLineSource<ET::Char>>, ()>
fn paragraph_ended( &self, _out: &ET::Outputs, _memory: &MemoryManager<ET::Token>, _state: &ET::State, _token: &ET::Token, ) -> Result<Option<StringLineSource<ET::Char>>, ()>
“Runaway argument? Paragraph ended before \foo was complete.”
§Errors
because that’s what it’s supposed to do
Sourcefn not_allowed_in_mode(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_name: PrimitiveIdentifier,
_mode: TeXMode,
) -> Result<Option<StringLineSource<ET::Char>>, ()>
fn not_allowed_in_mode( &self, _out: &ET::Outputs, _memory: &MemoryManager<ET::Token>, _state: &ET::State, _name: PrimitiveIdentifier, _mode: TeXMode, ) -> Result<Option<StringLineSource<ET::Char>>, ()>
Sourcefn missing_keyword(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
_kws: &'static [&'static str],
) -> Result<Option<StringLineSource<ET::Char>>, ()>
fn missing_keyword( &self, _out: &ET::Outputs, _memory: &MemoryManager<ET::Token>, _state: &ET::State, _kws: &'static [&'static str], ) -> Result<Option<StringLineSource<ET::Char>>, ()>
Sourcefn missing_number(
&self,
_out: &ET::Outputs,
_memory: &MemoryManager<ET::Token>,
_state: &ET::State,
) -> Result<Option<StringLineSource<ET::Char>>, ()>
fn missing_number( &self, _out: &ET::Outputs, _memory: &MemoryManager<ET::Token>, _state: &ET::State, ) -> Result<Option<StringLineSource<ET::Char>>, ()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.