--- a/Cargo.lock +++ b/Cargo.lock @@ -426,18 +426,18 @@ [[package]] name = "proc-macro2" -version = "1.0.32" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43" +checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1" dependencies = [ "unicode-xid", ] [[package]] name = "quote" -version = "1.0.10" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" +checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" dependencies = [ "proc-macro2", ] @@ -522,9 +522,9 @@ [[package]] name = "syn" -version = "1.0.82" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59" +checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d" dependencies = [ "proc-macro2", "quote", --- a/crates/jrsonnet-evaluator/Cargo.toml +++ b/crates/jrsonnet-evaluator/Cargo.toml @@ -9,7 +9,7 @@ [features] default = ["serialized-stdlib", "explaining-traces"] # Serializes standard library AST instead of parsing them every run -serialized-stdlib = ["bincode", "jrsonnet-parser/deserialize"] +serialized-stdlib = ["bincode", "jrsonnet-parser/serde"] # Rustc-like trace visualization explaining-traces = ["annotate-snippets"] # Allows library authors to throw custom errors @@ -21,11 +21,11 @@ jrsonnet-stdlib = { path = "../jrsonnet-stdlib", version = "0.4.2" } jrsonnet-types = { path = "../jrsonnet-types", version = "0.4.2" } jrsonnet-macros = { path = "../jrsonnet-macros", version = "0.4.2" } -pathdiff = "0.2.0" +pathdiff = "0.2.1" md5 = "0.7.0" base64 = "0.13.0" -rustc-hash = "1.1.0" +rustc-hash = "1.1" thiserror = "1.0" gcmodule = { git = "https://github.com/CertainLach/gcmodule", branch = "jrsonnet" } @@ -40,7 +40,7 @@ # Serialized stdlib [dependencies.bincode] -version = "1.3.1" +version = "1.3" optional = true # Explaining traces @@ -50,10 +50,7 @@ optional = true [build-dependencies] -jrsonnet-parser = { path = "../jrsonnet-parser", features = [ - "serialize", - "deserialize", -], version = "0.4.2" } jrsonnet-stdlib = { path = "../jrsonnet-stdlib", version = "0.4.2" } +jrsonnet-parser = { path = "../jrsonnet-parser", version = "0.4.2" } serde = "1.0" -bincode = "1.3.1" +bincode = "1.3" --- a/crates/jrsonnet-interner/Cargo.toml +++ b/crates/jrsonnet-interner/Cargo.toml @@ -8,5 +8,5 @@ [dependencies] serde = { version = "1.0" } -rustc-hash = "1.1.0" +rustc-hash = "1.1" gcmodule = { git = "https://github.com/CertainLach/gcmodule", branch = "jrsonnet" } --- a/crates/jrsonnet-macros/Cargo.toml +++ b/crates/jrsonnet-macros/Cargo.toml @@ -7,6 +7,6 @@ proc-macro = true [dependencies] -proc-macro2 = "1.0.32" -quote = "1.0.10" -syn = { version = "1.0.82", features = ["full"] } +proc-macro2 = "1.0" +quote = "1.0" +syn = { version = "1.0", features = ["full"] } --- a/crates/jrsonnet-parser/Cargo.toml +++ b/crates/jrsonnet-parser/Cargo.toml @@ -6,11 +6,6 @@ license = "MIT" edition = "2021" -[features] -default = [] -serialize = ["serde"] -deserialize = ["serde"] - [dependencies] jrsonnet-interner = { path = "../jrsonnet-interner", version = "0.4.2" } --- a/crates/jrsonnet-parser/src/expr.rs +++ b/crates/jrsonnet-parser/src/expr.rs @@ -1,9 +1,7 @@ use gcmodule::Trace; use jrsonnet_interner::IStr; -#[cfg(feature = "deserialize")] -use serde::Deserialize; -#[cfg(feature = "serialize")] -use serde::Serialize; +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; use std::{ fmt::{Debug, Display}, ops::Deref, @@ -11,8 +9,7 @@ rc::Rc, }; -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Trace)] pub enum FieldName { /// {fixed: 2} @@ -21,8 +18,7 @@ Dyn(LocExpr), } -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, Clone, Copy, PartialEq, Trace)] pub enum Visibility { /// : @@ -39,13 +35,11 @@ } } -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Clone, Debug, PartialEq, Trace)] pub struct AssertStmt(pub LocExpr, pub Option); -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Trace)] pub struct FieldMember { pub name: FieldName, @@ -55,8 +49,7 @@ pub value: LocExpr, } -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Trace)] pub enum Member { Field(FieldMember), @@ -64,8 +57,7 @@ AssertStmt(AssertStmt), } -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, Clone, Copy, PartialEq, Trace)] pub enum UnaryOpType { Plus, @@ -90,8 +82,7 @@ } } -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, Clone, Copy, PartialEq, Trace)] pub enum BinaryOpType { Mul, @@ -157,14 +148,12 @@ } /// name, default value -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Trace)] pub struct Param(pub IStr, pub Option); /// Defined function parameters -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, Clone, PartialEq, Trace)] pub struct ParamsDesc(pub Rc>); @@ -175,8 +164,7 @@ } } -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Trace)] pub struct ArgsDesc { pub unnamed: Vec, @@ -188,8 +176,7 @@ } } -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, Clone, PartialEq, Trace)] pub struct BindSpec { pub name: IStr, @@ -197,26 +184,22 @@ pub value: LocExpr, } -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Trace)] pub struct IfSpecData(pub LocExpr); -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Trace)] pub struct ForSpecData(pub IStr, pub LocExpr); -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Trace)] pub enum CompSpec { IfSpec(IfSpecData), ForSpec(ForSpecData), } -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Trace)] pub struct ObjComp { pub pre_locals: Vec, @@ -227,16 +210,14 @@ pub compspecs: Vec, } -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Trace)] pub enum ObjBody { MemberList(Vec), ObjComp(ObjComp), } -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Clone, Copy, Trace)] pub enum LiteralType { This, @@ -247,8 +228,7 @@ False, } -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Trace)] pub struct SliceDesc { pub start: Option, @@ -257,8 +237,7 @@ } /// Syntax base -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Trace)] pub enum Expr { Literal(LiteralType), @@ -326,8 +305,7 @@ } /// file, begin offset, end offset -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Clone, PartialEq, Trace)] #[skip_trace] pub struct ExprLocation(pub Rc, pub usize, pub usize); @@ -344,8 +322,7 @@ } /// Holds AST expression and its location in source file -#[cfg_attr(feature = "serialize", derive(Serialize))] -#[cfg_attr(feature = "deserialize", derive(Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Clone, PartialEq, Trace)] pub struct LocExpr(pub Rc, pub ExprLocation);