difftreelog
style fix clippy warnings
in: master
11 files changed
crates/jrsonnet-evaluator/src/dynamic.rsdiffbeforeafterboth--- 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<T: Clone + Trace + 'static> Pending<T> {
@@ -53,8 +53,8 @@
}
}
-impl<T: Trace + Clone> Into<Thunk<T>> for Pending<T> {
- fn into(self) -> Thunk<T> {
- Thunk::new(self)
+impl<T: Trace + Clone> From<Pending<T>> for Thunk<T> {
+ fn from(value: Pending<T>) -> Self {
+ Self::new(value)
}
}
crates/jrsonnet-evaluator/src/evaluate/mod.rsdiffbeforeafterboth--- 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)?;
crates/jrsonnet-evaluator/src/function/arglike.rsdiffbeforeafterboth--- 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<Val>) -> 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);
}
}
crates/jrsonnet-evaluator/src/lib.rsdiffbeforeafterboth--- 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
crates/jrsonnet-evaluator/src/map.rsdiffbeforeafterboth--- 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() {
crates/jrsonnet-evaluator/src/typed/mod.rsdiffbeforeafterboth--- 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(())
crates/jrsonnet-evaluator/src/val.rsdiffbeforeafterboth--- 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<std::cmp::Ordering> {
- 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)
}
}
crates/jrsonnet-interner/src/inner.rsdiffbeforeafterboth--- 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<cmp::Ordering> {
- self.as_slice().partial_cmp(other.as_slice())
+ Some(self.cmp(other))
}
}
impl Ord for Inner {
crates/jrsonnet-macros/src/lib.rsdiffbeforeafterboth--- a/crates/jrsonnet-macros/src/lib.rs
+++ b/crates/jrsonnet-macros/src/lib.rs
@@ -591,7 +591,7 @@
.map(TypedField::parse)
.collect::<Result<Vec<_>>>()?;
- 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
crates/jrsonnet-stdlib/src/sort.rsdiffbeforeafterboth--- 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<std::cmp::Ordering> {
- 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")
}
}
flake.nixdiffbeforeafterboth1{2 description = "Jrsonnet";3 inputs = {4 nixpkgs.url = "github:nixos/nixpkgs";5 flake-utils.url = "github:numtide/flake-utils";6 rust-overlay = {7 url = "github:oxalica/rust-overlay";8 inputs.nixpkgs.follows = "nixpkgs";9 inputs.flake-utils.follows = "flake-utils";10 };11 };12 outputs = { nixpkgs, flake-utils, rust-overlay, ... }:13 flake-utils.lib.eachDefaultSystem (system:14 let15 pkgs = import nixpkgs {16 inherit system;17 overlays = [ rust-overlay.overlays.default ];18 };19 rust = ((pkgs.rustChannelOf { date = "2023-07-23"; channel = "nightly"; }).default.override {20 extensions = [ "rust-src" "miri" "rust-analyzer" ];21 });22 in23 rec {24 packages = rec {25 go-jsonnet = pkgs.callPackage ./nix/go-jsonnet.nix { };26 sjsonnet = pkgs.callPackage ./nix/sjsonnet.nix { };27 jsonnet = pkgs.callPackage ./nix/jsonnet.nix { };28 # I didn't managed to build it, and nixpkgs version is marked as broken29 # haskell-jsonnet = pkgs.callPackage ./nix/haskell-jsonnet.nix { };30 jrsonnet = pkgs.callPackage ./nix/jrsonnet.nix {31 rustPlatform = pkgs.makeRustPlatform {32 rustc = rust;33 cargo = rust;34 };35 };36 jrsonnet-nightly = pkgs.callPackage ./nix/jrsonnet.nix {37 rustPlatform = pkgs.makeRustPlatform {38 rustc = rust;39 cargo = rust;40 };41 withNightlyFeatures = true;42 };43 jrsonnet-release = pkgs.callPackage ./nix/jrsonnet-release.nix {44 rustPlatform = pkgs.makeRustPlatform {45 rustc = rust;46 cargo = rust;47 };48 };4950 benchmarks = pkgs.callPackage ./nix/benchmarks.nix {51 inherit go-jsonnet sjsonnet jsonnet;52 jrsonnetVariants = [53 { drv = jrsonnet; name = ""; }54 ];55 };56 benchmarks-quick = pkgs.callPackage ./nix/benchmarks.nix {57 inherit go-jsonnet sjsonnet jsonnet;58 quick = true;59 jrsonnetVariants = [60 { drv = jrsonnet; name = ""; }61 ];62 };63 benchmarks-against-release = pkgs.callPackage ./nix/benchmarks.nix {64 inherit go-jsonnet sjsonnet jsonnet;65 jrsonnetVariants = [66 { drv = jrsonnet; name = "current"; }67 { drv = jrsonnet-nightly; name = "current-nightly"; }68 { drv = jrsonnet-release; name = "before-str-extend"; }69 ];70 };71 benchmarks-quick-against-release = pkgs.callPackage ./nix/benchmarks.nix {72 inherit go-jsonnet sjsonnet jsonnet;73 quick = true;74 jrsonnetVariants = [75 { drv = jrsonnet; name = "current"; }76 { drv = jrsonnet-nightly; name = "current-nightly"; }77 { drv = jrsonnet-release; name = "before-str-extend"; }78 ];79 };80 };81 devShell = pkgs.mkShell {82 nativeBuildInputs = with pkgs;[83 rust84 cargo-edit85 cargo-asm86 cargo-outdated87 lld88 hyperfine89 valgrind90 kcachegrind91 graphviz92 ];93 };94 }95 );96}1{2 description = "Jrsonnet";3 inputs = {4 nixpkgs.url = "github:nixos/nixpkgs";5 flake-utils.url = "github:numtide/flake-utils";6 rust-overlay = {7 url = "github:oxalica/rust-overlay";8 inputs.nixpkgs.follows = "nixpkgs";9 inputs.flake-utils.follows = "flake-utils";10 };11 };12 outputs = { nixpkgs, flake-utils, rust-overlay, ... }:13 flake-utils.lib.eachDefaultSystem (system:14 let15 pkgs = import nixpkgs {16 inherit system;17 overlays = [ rust-overlay.overlays.default ];18 };19 rust = ((pkgs.rustChannelOf { date = "2023-07-23"; channel = "nightly"; }).default.override {20 extensions = [ "rust-src" "miri" "rust-analyzer" "clippy" ];21 });22 in23 rec {24 packages = rec {25 go-jsonnet = pkgs.callPackage ./nix/go-jsonnet.nix { };26 sjsonnet = pkgs.callPackage ./nix/sjsonnet.nix { };27 jsonnet = pkgs.callPackage ./nix/jsonnet.nix { };28 # I didn't managed to build it, and nixpkgs version is marked as broken29 # haskell-jsonnet = pkgs.callPackage ./nix/haskell-jsonnet.nix { };30 jrsonnet = pkgs.callPackage ./nix/jrsonnet.nix {31 rustPlatform = pkgs.makeRustPlatform {32 rustc = rust;33 cargo = rust;34 };35 };36 jrsonnet-nightly = pkgs.callPackage ./nix/jrsonnet.nix {37 rustPlatform = pkgs.makeRustPlatform {38 rustc = rust;39 cargo = rust;40 };41 withNightlyFeatures = true;42 };43 jrsonnet-release = pkgs.callPackage ./nix/jrsonnet-release.nix {44 rustPlatform = pkgs.makeRustPlatform {45 rustc = rust;46 cargo = rust;47 };48 };4950 benchmarks = pkgs.callPackage ./nix/benchmarks.nix {51 inherit go-jsonnet sjsonnet jsonnet;52 jrsonnetVariants = [53 { drv = jrsonnet; name = ""; }54 ];55 };56 benchmarks-quick = pkgs.callPackage ./nix/benchmarks.nix {57 inherit go-jsonnet sjsonnet jsonnet;58 quick = true;59 jrsonnetVariants = [60 { drv = jrsonnet; name = ""; }61 ];62 };63 benchmarks-against-release = pkgs.callPackage ./nix/benchmarks.nix {64 inherit go-jsonnet sjsonnet jsonnet;65 jrsonnetVariants = [66 { drv = jrsonnet; name = "current"; }67 { drv = jrsonnet-nightly; name = "current-nightly"; }68 { drv = jrsonnet-release; name = "before-str-extend"; }69 ];70 };71 benchmarks-quick-against-release = pkgs.callPackage ./nix/benchmarks.nix {72 inherit go-jsonnet sjsonnet jsonnet;73 quick = true;74 jrsonnetVariants = [75 { drv = jrsonnet; name = "current"; }76 { drv = jrsonnet-nightly; name = "current-nightly"; }77 { drv = jrsonnet-release; name = "before-str-extend"; }78 ];79 };80 };81 devShell = pkgs.mkShell {82 nativeBuildInputs = with pkgs;[83 rust84 cargo-edit85 cargo-asm86 cargo-outdated87 lld88 hyperfine89 valgrind90 kcachegrind91 graphviz92 ];93 };94 }95 );96}