--- a/crates/jrsonnet-evaluator/src/builtin/mod.rs +++ b/crates/jrsonnet-evaluator/src/builtin/mod.rs @@ -466,8 +466,7 @@ 0, name: ty!(string) => Val::Str; 1, rest: ty!(any); ], { - - Ok(DebugGcTraceValue::new(name, rest)) + Ok(DebugGcTraceValue::create(name, rest)) }) } --- a/crates/jrsonnet-evaluator/src/evaluate.rs +++ b/crates/jrsonnet-evaluator/src/evaluate.rs @@ -127,8 +127,8 @@ impl Bindable for BindableMethod { fn bind(&self, this: Option, super_obj: Option) -> Result { Ok(LazyVal::new(Box::new(BindableMethodLazyVal { - this: this.clone(), - super_obj: super_obj.clone(), + this, + super_obj, context_creator: self.context_creator.clone(), name: self.name.clone(), @@ -586,7 +586,7 @@ add: false, visibility: Visibility::Normal, invoke: LazyBinding::Bindable(Gc::new(Box::new(ObjCompBinding { - context: ctx.clone(), + context: ctx, value: obj.value.clone(), }))), location: obj.value.1.clone(), --- a/crates/jrsonnet-evaluator/src/integrations/serde.rs +++ b/crates/jrsonnet-evaluator/src/integrations/serde.rs @@ -1,6 +1,6 @@ use crate::{ error::{Error::*, LocError, Result}, - throw, Context, LazyBinding, LazyVal, ObjMember, ObjValue, Val, + throw, LazyBinding, LazyVal, ObjMember, ObjValue, Val, }; use gc::Gc; use jrsonnet_parser::Visibility; @@ -42,7 +42,7 @@ Self::Object(out) } Val::Func(_) => throw!(RuntimeError("tried to manifest function".into())), - Val::DebugGcTraceValue(v) => Value::try_from(&*v.value as &Val)?, + Val::DebugGcTraceValue(v) => Self::try_from(&*v.value as &Val)?, }) } } --- a/crates/jrsonnet-evaluator/src/obj.rs +++ b/crates/jrsonnet-evaluator/src/obj.rs @@ -1,7 +1,7 @@ -use crate::{evaluate_add_op, evaluate_assert, Context, LazyBinding, Result, Val}; +use crate::{evaluate_add_op, LazyBinding, Result, Val}; use gc::{Finalize, Gc, GcCell, Trace}; use jrsonnet_interner::IStr; -use jrsonnet_parser::{AssertStmt, ExprLocation, Visibility}; +use jrsonnet_parser::{ExprLocation, Visibility}; use rustc_hash::{FxHashMap, FxHashSet}; use std::hash::{Hash, Hasher}; use std::{fmt::Debug, hash::BuildHasherDefault}; --- a/crates/jrsonnet-evaluator/src/val.rs +++ b/crates/jrsonnet-evaluator/src/val.rs @@ -49,7 +49,7 @@ pub fn evaluate(&self) -> Result { match &*self.0.borrow() { LazyValInternals::Computed(v) => return Ok(v.clone()), - LazyValInternals::Errored(e) => return Err(e.clone().into()), + LazyValInternals::Errored(e) => return Err(e.clone()), LazyValInternals::Pending => return Err(RecursiveLazyValueEvaluation.into()), _ => (), }; @@ -400,7 +400,7 @@ impl Clone for DebugGcTraceValue { fn clone(&self) -> Self { self.print("Cloned"); - let value = DebugGcTraceValue { + let value = Self { name: self.name.clone(), value: self.value.clone(), }; @@ -409,7 +409,7 @@ } } impl DebugGcTraceValue { - pub fn new(name: IStr, value: Val) -> Val { + pub fn create(name: IStr, value: Val) -> Val { let value = Self { name, value: Box::new(value),