Sha256: 354d5a82a4f5a24b97901a3b411b4eab038c4d034047971956b9cdc12538e50d

Contents?: true

Size: 1.3 KB

Versions: 38

Compression:

Stored size: 1.3 KB

Contents

#![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)
}

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
wasmtime-29.0.0 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-28.0.0 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-27.0.0 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-26.0.0 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-25.0.2 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-25.0.1 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-25.0.0 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-24.0.0 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-23.0.2 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-22.0.0 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-21.0.1 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-20.0.2 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-20.0.0 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-18.0.3 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-17.0.1 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-17.0.0 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-16.0.0 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-15.0.1 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-15.0.0 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs
wasmtime-14.0.4 ./ext/cargo-vendor/nom-7.1.3/tests/custom_errors.rs