From 6baa18de6571b015cd2cf1eaac93030250a136a3 Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Sun, 24 Nov 2024 16:05:23 +0100 Subject: [PATCH] refactor: drop derivative dependency Fixes: https://github.com/CertainLach/jrsonnet/issues/179 --- Cargo.lock | 39 ++++--------------- Cargo.toml | 1 - crates/jrsonnet-evaluator/Cargo.toml | 1 - .../jrsonnet-evaluator/src/function/parse.rs | 3 +- crates/jrsonnet-evaluator/src/val.rs | 9 +++-- 5 files changed, 15 insertions(+), 38 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 154af6cd..51512348 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -194,7 +194,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.76", + "syn", ] [[package]] @@ -246,17 +246,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "difflib" version = "0.4.0" @@ -483,7 +472,6 @@ version = "0.5.0-pre96" dependencies = [ "annotate-snippets", "anyhow", - "derivative", "hashbrown 0.14.5", "hi-doc", "jrsonnet-gcmodule", @@ -533,7 +521,7 @@ checksum = "4782d1d76731f5e5bb4bdeff26ed3350f21d662f178ce6dee7b4da810e7a8f72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn", ] [[package]] @@ -551,7 +539,7 @@ version = "0.5.0-pre96" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn", "syn-dissect-closure", ] @@ -694,7 +682,7 @@ dependencies = [ "proc-macro2", "quote", "regex-syntax", - "syn 2.0.76", + "syn", ] [[package]] @@ -1019,7 +1007,7 @@ checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn", ] [[package]] @@ -1121,17 +1109,6 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.76" @@ -1151,7 +1128,7 @@ checksum = "343bae741672e4b94421cbe93f9794ba9a061434272f7e3a29ff43be26be3ac9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn", ] [[package]] @@ -1202,7 +1179,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn", ] [[package]] @@ -1428,5 +1405,5 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn", ] diff --git a/Cargo.toml b/Cargo.toml index 0970a378..28dbaef0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -71,7 +71,6 @@ hashbrown = "0.14.5" static_assertions = "1.1" rustc-hash = "1.1" num-bigint = "0.4.5" -derivative = "2.2.0" strsim = "0.11.0" proc-macro2 = "1.0" quote = "1.0" diff --git a/crates/jrsonnet-evaluator/Cargo.toml b/crates/jrsonnet-evaluator/Cargo.toml index d0905cb7..a475390c 100644 --- a/crates/jrsonnet-evaluator/Cargo.toml +++ b/crates/jrsonnet-evaluator/Cargo.toml @@ -59,5 +59,4 @@ annotate-snippets = { workspace = true, optional = true } hi-doc = { workspace = true, optional = true } # Bigint num-bigint = { workspace = true, features = ["serde"], optional = true } -derivative.workspace = true stacker = "0.1.15" diff --git a/crates/jrsonnet-evaluator/src/function/parse.rs b/crates/jrsonnet-evaluator/src/function/parse.rs index 3940dbbc..92e73fc4 100644 --- a/crates/jrsonnet-evaluator/src/function/parse.rs +++ b/crates/jrsonnet-evaluator/src/function/parse.rs @@ -1,8 +1,7 @@ use std::mem::replace; -use jrsonnet_gcmodule::Trace; use jrsonnet_interner::IStr; -use jrsonnet_parser::{LocExpr, ParamsDesc}; +use jrsonnet_parser::ParamsDesc; use super::{arglike::ArgsLike, builtin::BuiltinParam}; use crate::{ diff --git a/crates/jrsonnet-evaluator/src/val.rs b/crates/jrsonnet-evaluator/src/val.rs index 4e66e21b..4757c31c 100644 --- a/crates/jrsonnet-evaluator/src/val.rs +++ b/crates/jrsonnet-evaluator/src/val.rs @@ -8,7 +8,6 @@ use std::{ rc::Rc, }; -use derivative::Derivative; use jrsonnet_gcmodule::{Cc, Trace}; use jrsonnet_interner::IStr; pub use jrsonnet_macros::Thunk; @@ -402,8 +401,7 @@ impl Ord for StrValue { /// Represents jsonnet number /// Jsonnet numbers are finite f64, with NaNs disallowed -#[derive(Trace, Clone, Copy, Derivative)] -#[derivative(Debug = "transparent")] +#[derive(Trace, Clone, Copy)] #[repr(transparent)] pub struct NumValue(f64); impl NumValue { @@ -439,6 +437,11 @@ impl PartialOrd for NumValue { Some(self.cmp(other)) } } +impl Debug for NumValue { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + Debug::fmt(&self.0, f) + } +} impl Display for NumValue { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { Display::fmt(&self.0, f)