From 2fe0743fd201d704a36ada6c8d1209206a8e3114 Mon Sep 17 00:00:00 2001 From: ctsk <9384305+ctsk@users.noreply.github.com> Date: Sat, 17 Aug 2024 13:05:33 +0200 Subject: [PATCH] [rlox] summer cleanup (clippy stuff) --- rlox/src/bc.rs | 7 ++++--- rlox/src/lc.rs | 4 ++-- rlox/src/vm.rs | 11 +++++------ 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/rlox/src/bc.rs b/rlox/src/bc.rs index dacbc1c..24b7a50 100644 --- a/rlox/src/bc.rs +++ b/rlox/src/bc.rs @@ -1,7 +1,8 @@ use crate::bc::Value::{Bool, Number}; use std::convert::From; use std::fmt; -use std::fmt::{Debug}; +use std::fmt::Debug; + #[derive(Copy, Clone, Debug, Eq, PartialEq)] pub enum Op { Return, @@ -196,10 +197,10 @@ impl fmt::Debug for TraceInfo<'_> { } mod tests { - use crate::bc::{Object, Value}; - #[test] fn string_value_equality() { + use crate::bc::Value; + let s1 = "bla5"; let s2 = "bla6"; diff --git a/rlox/src/lc.rs b/rlox/src/lc.rs index 458e987..0a267e1 100644 --- a/rlox/src/lc.rs +++ b/rlox/src/lc.rs @@ -2,7 +2,7 @@ use std::convert::identity; use std::iter::Peekable; use std::str::CharIndices; -use crate::bc::{Chunk, Op, Value}; +use crate::bc::{Chunk, Op}; #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] enum TokenType { @@ -301,7 +301,7 @@ impl<'src> Parser<'src> { EqualEqual | BangEqual => Precedence::Equality, Greater | GreaterEqual | Less | LessEqual => Precedence::Comparison, RightParen => Precedence::None, - _ => panic!("{:?}", ttype), + _ => panic!("Undefined precedence: {:?}", ttype), } } diff --git a/rlox/src/vm.rs b/rlox/src/vm.rs index 3c357ec..af67156 100644 --- a/rlox/src/vm.rs +++ b/rlox/src/vm.rs @@ -1,4 +1,4 @@ -use crate::bc::{Object, Chunk, Op, TraceInfo, Value}; +use crate::bc::{Chunk, Op, TraceInfo, Value}; use std::ops::Not; use std::rc::Rc; @@ -10,7 +10,7 @@ pub struct VM { #[derive(Debug, PartialEq)] pub enum VMError { - Compile, + // Compile, Runtime(Rc, usize), } @@ -103,14 +103,15 @@ impl VM { let a = self.pop_num()?; self.push(Value::from(num + a)); } - Value::Obj(ref obj) => { + Value::Obj(ref _obj) => { match b.as_str() { None => Err(self.type_err("String", b)), Some(str_b) => { let a = self.pop()?; match a.as_str() { Some(str_a) => { - Ok(self.push(Value::from(str_a.to_owned() + str_b))) + self.push(Value::from(str_a.to_owned() + str_b)); + Ok(()) }, None => Err(self.type_err("String", a)) } @@ -160,9 +161,7 @@ impl VM { #[cfg(test)] mod tests { - use crate::bc::Op::Equal; use super::{Chunk, Op, Value, VM}; - use crate::vm::VMError; #[test] fn simple_arithmetic() {