@@ -30,11 +30,11 @@ use crate::traits::{Input, ToUsize};
3030/// // Tries to consume 12 bits but only 8 are available
3131/// assert_eq!(parser(([0b00010010].as_ref(), 0), 12), Err(nom::Err::Error(Error{input: ([0b00010010].as_ref(), 0), code: ErrorKind::Eof })));
3232/// ```
33- pub fn take < I , O , C , E : ParseError < ( I , usize ) > > (
33+ pub fn take < ' a , I , O , C , E : ParseError < ( I , usize ) > > (
3434 count : C ,
3535) -> impl Fn ( ( I , usize ) ) -> IResult < ( I , usize ) , O , E >
3636where
37- I : Input < Item = u8 > ,
37+ I : Input < Item = & ' a u8 > ,
3838 C : ToUsize ,
3939 O : From < u8 > + AddAssign + Shl < usize , Output = O > + Shr < usize , Output = O > ,
4040{
5959 break ;
6060 }
6161 let val: O = if offset == 0 {
62- byte. into ( )
62+ ( * byte) . into ( )
6363 } else {
6464 ( ( byte << offset) >> offset) . into ( )
6565 } ;
@@ -80,12 +80,12 @@ where
8080}
8181
8282/// Generates a parser taking `count` bits and comparing them to `pattern`
83- pub fn tag < I , O , C , E : ParseError < ( I , usize ) > > (
83+ pub fn tag < ' a , I , O , C , E : ParseError < ( I , usize ) > > (
8484 pattern : O ,
8585 count : C ,
8686) -> impl Fn ( ( I , usize ) ) -> IResult < ( I , usize ) , O , E >
8787where
88- I : Input < Item = u8 > + Clone ,
88+ I : Input < Item = & ' a u8 > + Clone ,
8989 C : ToUsize ,
9090 O : From < u8 > + AddAssign + Shl < usize , Output = O > + Shr < usize , Output = O > + PartialEq ,
9191{
@@ -118,9 +118,9 @@ where
118118/// assert_eq!(parse(([0b10000000].as_ref(), 0)), Ok((([0b10000000].as_ref(), 1), true)));
119119/// assert_eq!(parse(([0b10000000].as_ref(), 1)), Ok((([0b10000000].as_ref(), 2), false)));
120120/// ```
121- pub fn bool < I , E : ParseError < ( I , usize ) > > ( input : ( I , usize ) ) -> IResult < ( I , usize ) , bool , E >
121+ pub fn bool < ' a , I , E : ParseError < ( I , usize ) > > ( input : ( I , usize ) ) -> IResult < ( I , usize ) , bool , E >
122122where
123- I : Input < Item = u8 > ,
123+ I : Input < Item = & ' a u8 > ,
124124{
125125 let ( res, bit) : ( _ , u32 ) = take ( 1usize ) ( input) ?;
126126 Ok ( ( res, bit != 0 ) )
0 commit comments