diff options
Diffstat (limited to '')
| -rw-r--r-- | askama_derive/src/generator.rs | 2 | ||||
| -rw-r--r-- | askama_derive/src/input.rs | 2 | ||||
| -rw-r--r-- | askama_derive/src/lib.rs | 1 | ||||
| -rw-r--r-- | askama_derive/src/parser.rs | 29 | 
4 files changed, 17 insertions, 17 deletions
diff --git a/askama_derive/src/generator.rs b/askama_derive/src/generator.rs index 359de5a..81f6ac9 100644 --- a/askama_derive/src/generator.rs +++ b/askama_derive/src/generator.rs @@ -450,6 +450,7 @@ impl<'a> Generator<'a> {          flushed + median(&mut arm_sizes)      } +    #[allow(clippy::too_many_arguments)]      fn write_match(          &mut self,          ctx: &'a Context, @@ -531,6 +532,7 @@ impl<'a> Generator<'a> {          flushed + median(&mut arm_sizes)      } +    #[allow(clippy::too_many_arguments)]      fn write_loop(          &mut self,          ctx: &'a Context, diff --git a/askama_derive/src/input.rs b/askama_derive/src/input.rs index 3b65640..6a54a99 100644 --- a/askama_derive/src/input.rs +++ b/askama_derive/src/input.rs @@ -155,7 +155,7 @@ impl<'a> TemplateInput<'a> {                  config                      .syntaxes                      .get(&s) -                    .expect(&format!("attribute syntax {} not exist", s)) +                    .unwrap_or_else(|| panic!("attribute syntax {} not exist", s))              },          ); diff --git a/askama_derive/src/lib.rs b/askama_derive/src/lib.rs index 2c02cb5..97228fd 100644 --- a/askama_derive/src/lib.rs +++ b/askama_derive/src/lib.rs @@ -199,6 +199,7 @@ impl<'a> Context<'a> {      }  } +#[allow(clippy::match_wild_err_arm)]  fn get_template_source(tpl_path: &Path) -> String {      match fs::read_to_string(tpl_path) {          Err(_) => panic!( diff --git a/askama_derive/src/parser.rs b/askama_derive/src/parser.rs index d22ac5a..e483ff7 100644 --- a/askama_derive/src/parser.rs +++ b/askama_derive/src/parser.rs @@ -126,17 +126,15 @@ fn split_ws_parts(s: &[u8]) -> Node {      let is_ws = |c: &u8| *c != b' ' && *c != b'\t' && *c != b'\r' && *c != b'\n';      let start = s.iter().position(&is_ws); -    let res = if start.is_none() { -        (s, &s[0..0], &s[0..0]) -    } else { -        let start = start.unwrap(); +    let res = if let Some(start) = start {          let end = s.iter().rposition(&is_ws); -        if end.is_none() { -            (&s[..start], &s[start..], &s[0..0]) -        } else { -            let end = end.unwrap(); +        if let Some(end) = end {              (&s[..start], &s[start..=end], &s[end + 1..]) +        } else { +            (&s[..start], &s[start..], &s[0..0])          } +    } else { +        (s, &s[0..0], &s[0..0])      };      Node::Lit( @@ -154,10 +152,7 @@ enum ContentState {      End(usize),  } -fn take_content<'a>( -    i: &'a [u8], -    s: &'a Syntax<'a>, -) -> Result<(&'a [u8], Node<'a>), nom::Err<(&'a [u8], nom::error::ErrorKind)>> { +fn take_content<'a>(i: &'a [u8], s: &'a Syntax<'a>) -> ParserError<'a, Node<'a>> {      use crate::parser::ContentState::*;      let bs = s.block_start.as_bytes()[0];      let be = s.block_start.as_bytes()[1]; @@ -200,7 +195,7 @@ fn take_content<'a>(      }  } -fn identifier(input: &[u8]) -> Result<(&[u8], &str), nom::Err<(&[u8], nom::error::ErrorKind)>> { +fn identifier(input: &[u8]) -> ParserError<&str> {      if !nom::character::is_alphabetic(input[0]) && input[0] != b'_' && !non_ascii(input[0]) {          return Err(nom::Err::Error(error_position!(              input, @@ -319,7 +314,7 @@ fn macro_arguments(i: &[u8]) -> IResult<&[u8], &str> {      delimited(char('('), nested_parenthesis, char(')'))(i)  } -fn nested_parenthesis(i: &[u8]) -> Result<(&[u8], &str), nom::Err<(&[u8], nom::error::ErrorKind)>> { +fn nested_parenthesis(i: &[u8]) -> ParserError<&str> {      let mut nested = 0;      let mut last = 0;      let mut in_str = false; @@ -442,8 +437,8 @@ fn expr_attr(i: &[u8]) -> IResult<&[u8], Expr> {      let mut res = obj;      for (aname, args) in attrs { -        res = if args.is_some() { -            Expr::MethodCall(Box::new(res), aname, args.unwrap()) +        res = if let Some(args) = args { +            Expr::MethodCall(Box::new(res), aname, args)          } else {              Expr::Attr(Box::new(res), aname)          }; @@ -1056,3 +1051,5 @@ mod tests {          super::parse("{~ strvar|e ~}", &syntax);      }  } + +type ParserError<'a, T> = Result<(&'a [u8], T), nom::Err<(&'a [u8], nom::error::ErrorKind)>>;  | 
