difftreelog
refactor drop derivative dependency
in: master
5 files changed
Cargo.lockdiffbeforeafterboth194 "heck",194 "heck",195 "proc-macro2",195 "proc-macro2",196 "quote",196 "quote",197 "syn 2.0.76",197 "syn",198]198]199199200[[package]]200[[package]]246 "typenum",246 "typenum",247]247]248249[[package]]250name = "derivative"251version = "2.2.0"252source = "registry+https://github.com/rust-lang/crates.io-index"253checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"254dependencies = [255 "proc-macro2",256 "quote",257 "syn 1.0.109",258]259248260[[package]]249[[package]]261name = "difflib"250name = "difflib"483dependencies = [472dependencies = [484 "annotate-snippets",473 "annotate-snippets",485 "anyhow",474 "anyhow",486 "derivative",487 "hashbrown 0.14.5",475 "hashbrown 0.14.5",488 "hi-doc",476 "hi-doc",489 "jrsonnet-gcmodule",477 "jrsonnet-gcmodule",533dependencies = [521dependencies = [534 "proc-macro2",522 "proc-macro2",535 "quote",523 "quote",536 "syn 2.0.76",524 "syn",537]525]538526539[[package]]527[[package]]551dependencies = [539dependencies = [552 "proc-macro2",540 "proc-macro2",553 "quote",541 "quote",554 "syn 2.0.76",542 "syn",555 "syn-dissect-closure",543 "syn-dissect-closure",556]544]557545694 "proc-macro2",682 "proc-macro2",695 "quote",683 "quote",696 "regex-syntax",684 "regex-syntax",697 "syn 2.0.76",685 "syn",698]686]699687700[[package]]688[[package]]1019dependencies = [1007dependencies = [1020 "proc-macro2",1008 "proc-macro2",1021 "quote",1009 "quote",1022 "syn 2.0.76",1010 "syn",1023]1011]102410121025[[package]]1013[[package]]1121source = "registry+https://github.com/rust-lang/crates.io-index"1109source = "registry+https://github.com/rust-lang/crates.io-index"1122checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"1110checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"11231124[[package]]1125name = "syn"1126version = "1.0.109"1127source = "registry+https://github.com/rust-lang/crates.io-index"1128checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"1129dependencies = [1130 "proc-macro2",1131 "quote",1132 "unicode-ident",1133]113411111135[[package]]1112[[package]]1136name = "syn"1113name = "syn"1151dependencies = [1128dependencies = [1152 "proc-macro2",1129 "proc-macro2",1153 "quote",1130 "quote",1154 "syn 2.0.76",1131 "syn",1155]1132]115611331157[[package]]1134[[package]]1202dependencies = [1179dependencies = [1203 "proc-macro2",1180 "proc-macro2",1204 "quote",1181 "quote",1205 "syn 2.0.76",1182 "syn",1206]1183]120711841208[[package]]1185[[package]]1428dependencies = [1405dependencies = [1429 "proc-macro2",1406 "proc-macro2",1430 "quote",1407 "quote",1431 "syn 2.0.76",1408 "syn",1432]1409]14331410Cargo.tomldiffbeforeafterboth71static_assertions = "1.1"71static_assertions = "1.1"72rustc-hash = "1.1"72rustc-hash = "1.1"73num-bigint = "0.4.5"73num-bigint = "0.4.5"74derivative = "2.2.0"75strsim = "0.11.0"74strsim = "0.11.0"76proc-macro2 = "1.0"75proc-macro2 = "1.0"77quote = "1.0"76quote = "1.0"crates/jrsonnet-evaluator/Cargo.tomldiffbeforeafterboth59hi-doc = { workspace = true, optional = true }59hi-doc = { workspace = true, optional = true }60# Bigint60# Bigint61num-bigint = { workspace = true, features = ["serde"], optional = true }61num-bigint = { workspace = true, features = ["serde"], optional = true }62derivative.workspace = true63stacker = "0.1.15"62stacker = "0.1.15"6463crates/jrsonnet-evaluator/src/function/parse.rsdiffbeforeafterboth1use std::mem::replace;1use std::mem::replace;223use jrsonnet_gcmodule::Trace;4use jrsonnet_interner::IStr;3use jrsonnet_interner::IStr;5use jrsonnet_parser::{LocExpr, ParamsDesc};4use jrsonnet_parser::ParamsDesc;657use super::{arglike::ArgsLike, builtin::BuiltinParam};6use super::{arglike::ArgsLike, builtin::BuiltinParam};8use crate::{7use crate::{crates/jrsonnet-evaluator/src/val.rsdiffbeforeafterboth8 rc::Rc,8 rc::Rc,9};9};101011use derivative::Derivative;12use jrsonnet_gcmodule::{Cc, Trace};11use jrsonnet_gcmodule::{Cc, Trace};13use jrsonnet_interner::IStr;12use jrsonnet_interner::IStr;14pub use jrsonnet_macros::Thunk;13pub use jrsonnet_macros::Thunk;402401403/// Represents jsonnet number402/// Represents jsonnet number404/// Jsonnet numbers are finite f64, with NaNs disallowed403/// Jsonnet numbers are finite f64, with NaNs disallowed405#[derive(Trace, Clone, Copy, Derivative)]404#[derive(Trace, Clone, Copy)]406#[derivative(Debug = "transparent")]407#[repr(transparent)]405#[repr(transparent)]408pub struct NumValue(f64);406pub struct NumValue(f64);409impl NumValue {407impl NumValue {439 Some(self.cmp(other))437 Some(self.cmp(other))440 }438 }441}439}440impl Debug for NumValue {441 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {442 Debug::fmt(&self.0, f)443 }444}442impl Display for NumValue {445impl Display for NumValue {443 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {446 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {444 Display::fmt(&self.0, f)447 Display::fmt(&self.0, f)