mirror of
https://github.com/RustPython/Parser.git
synced 2025-09-06 02:21:27 +00:00
use thiserror
This commit is contained in:
parent
a1640e4aa1
commit
122382cb53
3 changed files with 4 additions and 12 deletions
|
@ -16,14 +16,7 @@ impl<T> std::ops::Deref for BaseError<T> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T> std::error::Error for BaseError<T>
|
impl<T> std::error::Error for BaseError<T> where T: std::fmt::Display + std::fmt::Debug {}
|
||||||
where
|
|
||||||
T: std::fmt::Display + std::fmt::Debug,
|
|
||||||
{
|
|
||||||
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
|
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<T> Display for BaseError<T>
|
impl<T> Display for BaseError<T>
|
||||||
where
|
where
|
||||||
|
|
|
@ -28,6 +28,7 @@ phf = "0.10.1"
|
||||||
unic-emoji-char = "0.9.0"
|
unic-emoji-char = "0.9.0"
|
||||||
unic-ucd-ident = "0.9.0"
|
unic-ucd-ident = "0.9.0"
|
||||||
unicode_names2 = "0.5.0"
|
unicode_names2 = "0.5.0"
|
||||||
|
thiserror = "1.0"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
insta = "1.14.0"
|
insta = "1.14.0"
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
use crate::{ast::Location, token::Tok};
|
use crate::{ast::Location, token::Tok};
|
||||||
use lalrpop_util::ParseError as LalrpopError;
|
use lalrpop_util::ParseError as LalrpopError;
|
||||||
use std::{error::Error, fmt};
|
use std::fmt;
|
||||||
|
|
||||||
/// Represents an error during lexical scanning.
|
/// Represents an error during lexical scanning.
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
|
@ -119,7 +119,7 @@ impl From<FStringError> for LalrpopError<Location, Tok, LexicalError> {
|
||||||
/// Represents an error during parsing
|
/// Represents an error during parsing
|
||||||
pub type ParseError = rustpython_compiler_core::BaseError<ParseErrorType>;
|
pub type ParseError = rustpython_compiler_core::BaseError<ParseErrorType>;
|
||||||
|
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq, thiserror::Error)]
|
||||||
pub enum ParseErrorType {
|
pub enum ParseErrorType {
|
||||||
/// Parser encountered an unexpected end of input
|
/// Parser encountered an unexpected end of input
|
||||||
Eof,
|
Eof,
|
||||||
|
@ -194,8 +194,6 @@ impl fmt::Display for ParseErrorType {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Error for ParseErrorType {}
|
|
||||||
|
|
||||||
impl ParseErrorType {
|
impl ParseErrorType {
|
||||||
pub fn is_indentation_error(&self) -> bool {
|
pub fn is_indentation_error(&self) -> bool {
|
||||||
match self {
|
match self {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue