Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
48
third-party/vendor/nom/tests/custom_errors.rs
vendored
Normal file
48
third-party/vendor/nom/tests/custom_errors.rs
vendored
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
#![allow(dead_code)]
|
||||
|
||||
use nom::bytes::streaming::tag;
|
||||
use nom::character::streaming::digit1 as digit;
|
||||
use nom::combinator::verify;
|
||||
use nom::error::{ErrorKind, ParseError};
|
||||
#[cfg(feature = "alloc")]
|
||||
use nom::multi::count;
|
||||
use nom::sequence::terminated;
|
||||
use nom::IResult;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct CustomError(String);
|
||||
|
||||
impl<'a> From<(&'a str, ErrorKind)> for CustomError {
|
||||
fn from(error: (&'a str, ErrorKind)) -> Self {
|
||||
CustomError(format!("error code was: {:?}", error))
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> ParseError<&'a str> for CustomError {
|
||||
fn from_error_kind(_: &'a str, kind: ErrorKind) -> Self {
|
||||
CustomError(format!("error code was: {:?}", kind))
|
||||
}
|
||||
|
||||
fn append(_: &'a str, kind: ErrorKind, other: CustomError) -> Self {
|
||||
CustomError(format!("{:?}\nerror code was: {:?}", other, kind))
|
||||
}
|
||||
}
|
||||
|
||||
fn test1(input: &str) -> IResult<&str, &str, CustomError> {
|
||||
//fix_error!(input, CustomError, tag!("abcd"))
|
||||
tag("abcd")(input)
|
||||
}
|
||||
|
||||
fn test2(input: &str) -> IResult<&str, &str, CustomError> {
|
||||
//terminated!(input, test1, fix_error!(CustomError, digit))
|
||||
terminated(test1, digit)(input)
|
||||
}
|
||||
|
||||
fn test3(input: &str) -> IResult<&str, &str, CustomError> {
|
||||
verify(test1, |s: &str| s.starts_with("abcd"))(input)
|
||||
}
|
||||
|
||||
#[cfg(feature = "alloc")]
|
||||
fn test4(input: &str) -> IResult<&str, Vec<&str>, CustomError> {
|
||||
count(test1, 4)(input)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue