Moved IntoResult trait to own file outside feature
This commit is contained in:
parent
aba28d1612
commit
cdc8f5e463
@ -4,6 +4,7 @@ pub mod axum;
|
||||
pub mod io;
|
||||
pub mod nom;
|
||||
pub mod serde;
|
||||
mod traits;
|
||||
pub mod vector;
|
||||
|
||||
#[cfg(feature = "derive")]
|
||||
|
@ -1,11 +1,8 @@
|
||||
#[cfg(feature = "nom")]
|
||||
use nom::{error::Error, IResult};
|
||||
|
||||
#[cfg(feature = "nom")]
|
||||
pub trait IntoResult<T> {
|
||||
type Error;
|
||||
fn into_result(self) -> Result<T, Self::Error>;
|
||||
}
|
||||
use {
|
||||
crate::traits::IntoResult,
|
||||
nom::{error::Error, IResult},
|
||||
};
|
||||
|
||||
#[cfg(feature = "nom")]
|
||||
impl<T, R> IntoResult<T> for IResult<R, T> {
|
||||
@ -17,9 +14,10 @@ impl<T, R> IntoResult<T> for IResult<R, T> {
|
||||
|
||||
#[cfg(all(test, feature = "nom"))]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use nom::character::complete::char as c;
|
||||
|
||||
use super::*;
|
||||
|
||||
fn parse_char(input: &str) -> IResult<&str, char> {
|
||||
c('A')(input)
|
||||
}
|
||||
|
5
src/traits.rs
Normal file
5
src/traits.rs
Normal file
@ -0,0 +1,5 @@
|
||||
/// Converts a type T into a Result<T, E>
|
||||
pub trait IntoResult<T> {
|
||||
type Error;
|
||||
fn into_result(self) -> Result<T, Self::Error>;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user