From c84c38544bc6e81f0b0482e4e82b6c95848c1a0c Mon Sep 17 00:00:00 2001 From: Akshay Date: Tue, 6 Apr 2021 14:54:54 +0530 Subject: apply clippy lints --- src/lisp/lex.rs | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) (limited to 'src/lisp/lex.rs') diff --git a/src/lisp/lex.rs b/src/lisp/lex.rs index 2088421..754a23f 100644 --- a/src/lisp/lex.rs +++ b/src/lisp/lex.rs @@ -102,16 +102,11 @@ impl<'src, 'file> SpanDisplay<'src, 'file> { pub struct Lexer<'input> { input: &'input str, cur_pos: u32, - offset: u32, } impl<'a> Lexer<'a> { - pub fn new(input: &'a str, offset: u32) -> Self { - Self { - input, - cur_pos: 0, - offset, - } + pub fn new(input: &'a str) -> Self { + Self { input, cur_pos: 0 } } pub fn next_token(&mut self) -> Result<(Span, Token<'a>), ParseError> { @@ -166,11 +161,11 @@ impl<'a> Lexer<'a> { return Ok((sp, token)); } self.input = &self.input[..0]; - return Ok((Span::empty(self.cur_pos), Token::End)); + Ok((Span::empty(self.cur_pos), Token::End)) } } -fn parse_number<'a>(mut input: &'a str) -> Result<(usize, Token<'a>), ParseErrorKind> { +fn parse_number(mut input: &str) -> Result<(usize, Token<'_>), ParseErrorKind> { let mut dot = false; let mut minus = false; let mut size = 0; @@ -186,7 +181,7 @@ fn parse_number<'a>(mut input: &'a str) -> Result<(usize, Token<'a>), ParseError } } - while let Some(chr) = chars.next() { + for chr in chars { if chr.is_digit(10) { size += 1; } else if chr == '.' { @@ -210,10 +205,10 @@ fn parse_number<'a>(mut input: &'a str) -> Result<(usize, Token<'a>), ParseError } else { Token::Integer(&input[..size]) }; - return Ok((size, tok)); + Ok((size, tok)) } -fn parse_string<'a>(input: &'a str) -> Result<(usize, Token<'a>), ParseErrorKind> { +fn parse_string(input: &str) -> Result<(usize, Token<'_>), ParseErrorKind> { // count opening quote let mut size = 1; let mut closed = false; @@ -260,7 +255,7 @@ fn consume_comment(start: usize, chars: &mut CharIndices) -> usize { last - start + 1 } -fn parse_name<'a>(input: &'a str) -> Result<(usize, Token<'a>), ParseErrorKind> { +fn parse_name(input: &str) -> Result<(usize, Token<'_>), ParseErrorKind> { for (ind, chr) in input.char_indices() { if !is_ident(chr) { return Ok((ind, Token::Name(&input[..ind]))); @@ -269,7 +264,7 @@ fn parse_name<'a>(input: &'a str) -> Result<(usize, Token<'a>), ParseErrorKind> return Ok((input.len(), Token::Name(input))); } -fn parse_char<'a>(input: &'a str) -> Result<(usize, Token<'a>), ParseErrorKind> { +fn parse_char(input: &str) -> Result<(usize, Token<'_>), ParseErrorKind> { // first two chars of input are '#' and '\' let chr = &input[..3]; return Ok((chr.len(), Token::Char(chr))); @@ -284,7 +279,7 @@ mod tests { } fn tokens(input: &str) -> Vec<(Span, Token)> { - let mut lexer = Lexer::new(input, 0); + let mut lexer = Lexer::new(input); let mut tokens = Vec::new(); loop { match lexer.next_token().unwrap() { -- cgit v1.2.3