From cb765629121c7cab9e078ba440168a1015ebf0d3 Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Thu, 27 Jul 2023 14:35:22 +0000 Subject: [PATCH] style: fix clippy warnings --- --- a/crates/jrsonnet-evaluator/src/dynamic.rs +++ b/crates/jrsonnet-evaluator/src/dynamic.rs @@ -22,7 +22,7 @@ self.0 .set(value) .map_err(|_| ()) - .expect("wrapper is filled already") + .expect("wrapper is filled already"); } } impl Pending { @@ -53,8 +53,8 @@ } } -impl Into> for Pending { - fn into(self) -> Thunk { - Thunk::new(self) +impl From> for Thunk { + fn from(value: Pending) -> Self { + Self::new(value) } } --- a/crates/jrsonnet-evaluator/src/evaluate/mod.rs +++ b/crates/jrsonnet-evaluator/src/evaluate/mod.rs @@ -294,7 +294,7 @@ // We have single context for all fields, so we can cache binds let uctx = CachedUnbound::new(evaluate_object_locals(fctx.clone(), locals)); - for member in members.iter() { + for member in members { match member { Member::Field(field) => { evaluate_field_member(&mut builder, ctx.clone(), uctx.clone(), field)?; --- a/crates/jrsonnet-evaluator/src/function/arglike.rs +++ b/crates/jrsonnet-evaluator/src/function/arglike.rs @@ -210,14 +210,14 @@ tailstrict: bool, handler: &mut dyn FnMut(&IStr, Thunk) -> Result<()>, ) -> Result<()> { - for (name, value) in self.iter() { + for (name, value) in self { handler(name, value.evaluate_arg(ctx.clone(), tailstrict)?)?; } Ok(()) } fn named_names(&self, handler: &mut dyn FnMut(&IStr)) { - for (name, _) in self.iter() { + for (name, _) in self { handler(name); } } --- a/crates/jrsonnet-evaluator/src/lib.rs +++ b/crates/jrsonnet-evaluator/src/lib.rs @@ -39,6 +39,8 @@ clippy::type_repetition_in_bounds, // ci is being run with nightly, but library should work on stable clippy::missing_const_for_fn, + // too many false-positives with .expect() calls + clippy::missing_panics_doc, )] // For jrsonnet-macros --- a/crates/jrsonnet-evaluator/src/map.rs +++ b/crates/jrsonnet-evaluator/src/map.rs @@ -15,7 +15,7 @@ impl LayeredHashMap { pub fn iter_keys(self, mut handler: impl FnMut(IStr)) { - for (k, _) in self.0.current.iter() { + for (k, _) in &*self.0.current { handler(k.clone()); } if let Some(parent) = self.0.parent.clone() { --- a/crates/jrsonnet-evaluator/src/typed/mod.rs +++ b/crates/jrsonnet-evaluator/src/typed/mod.rs @@ -206,7 +206,7 @@ }, Self::ObjectRef(elems) => match value { Val::Obj(obj) => { - for (k, v) in elems.iter() { + for (k, v) in *elems { if let Some(got_v) = obj.get((*k).into())? { push_type_description( || format!("property {k}"), @@ -225,7 +225,7 @@ }, Self::Union(types) => { let mut errors = Vec::new(); - for ty in types.iter() { + for ty in types { match ty.check(value) { Ok(()) => { return Ok(()); @@ -240,7 +240,7 @@ } Self::UnionRef(types) => { let mut errors = Vec::new(); - for ty in types.iter() { + for ty in *types { match ty.check(value) { Ok(()) => { return Ok(()); @@ -254,13 +254,13 @@ Err(TypeError::UnionFailed(self.clone(), TypeLocErrorList(errors)).into()) } Self::Sum(types) => { - for ty in types.iter() { + for ty in types { ty.check(value)?; } Ok(()) } Self::SumRef(types) => { - for ty in types.iter() { + for ty in *types { ty.check(value)?; } Ok(()) --- a/crates/jrsonnet-evaluator/src/val.rs +++ b/crates/jrsonnet-evaluator/src/val.rs @@ -346,15 +346,14 @@ impl Eq for StrValue {} impl PartialOrd for StrValue { fn partial_cmp(&self, other: &Self) -> Option { - let a = self.clone().into_flat(); - let b = other.clone().into_flat(); - Some(a.cmp(&b)) + Some(self.cmp(other)) } } impl Ord for StrValue { fn cmp(&self, other: &Self) -> std::cmp::Ordering { - self.partial_cmp(other) - .expect("partial_cmp always returns Some") + let a = self.clone().into_flat(); + let b = other.clone().into_flat(); + a.cmp(&b) } } --- a/crates/jrsonnet-interner/src/inner.rs +++ b/crates/jrsonnet-interner/src/inner.rs @@ -217,7 +217,7 @@ impl Eq for Inner {} impl PartialOrd for Inner { fn partial_cmp(&self, other: &Self) -> Option { - self.as_slice().partial_cmp(other.as_slice()) + Some(self.cmp(other)) } } impl Ord for Inner { --- a/crates/jrsonnet-macros/src/lib.rs +++ b/crates/jrsonnet-macros/src/lib.rs @@ -591,7 +591,7 @@ .map(TypedField::parse) .collect::>>()?; - let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl( ); + let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl(); let typed = { let fields = fields --- a/crates/jrsonnet-stdlib/src/sort.rs +++ b/crates/jrsonnet-stdlib/src/sort.rs @@ -26,13 +26,13 @@ struct NonNaNf64(f64); impl PartialOrd for NonNaNf64 { fn partial_cmp(&self, other: &Self) -> Option { - self.0.partial_cmp(&other.0) + Some(self.cmp(other)) } } impl Eq for NonNaNf64 {} impl Ord for NonNaNf64 { fn cmp(&self, other: &Self) -> std::cmp::Ordering { - self.partial_cmp(other).expect("non nan") + self.0.partial_cmp(&other.0).expect("non nan") } } --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,7 @@ overlays = [ rust-overlay.overlays.default ]; }; rust = ((pkgs.rustChannelOf { date = "2023-07-23"; channel = "nightly"; }).default.override { - extensions = [ "rust-src" "miri" "rust-analyzer" ]; + extensions = [ "rust-src" "miri" "rust-analyzer" "clippy" ]; }); in rec { -- gitstuff