diff --git a/plonky2/Cargo.toml b/plonky2/Cargo.toml index 541f2dcc..ab131463 100644 --- a/plonky2/Cargo.toml +++ b/plonky2/Cargo.toml @@ -18,10 +18,9 @@ std = ["anyhow/std", "rand/std"] timing = ["std"] [dependencies] -ahash = { version = "0.7.6", default-features = false, features = ["compile-time-rng"] } +ahash = { version = "0.7.6", default-features = false, features = ["compile-time-rng"] } # NOTE: Be sure to keep this version the same as the dependency in `hashbrown`. anyhow = { version = "1.0.40", default-features = false } -derivative = { version = "2.2.0", default-features = false, features = ["use_core"] } -hashbrown = { version = "0.12.3", default-features = false, features = ["ahash", "serde"] } +hashbrown = { version = "0.12.3", default-features = false, features = ["ahash", "serde"] } # NOTE: When upgrading, see `ahash` dependency. itertools = { version = "0.10.0", default-features = false } keccak-hash = { version = "0.8.0", default-features = false } log = { version = "0.4.14", default-features = false } diff --git a/plonky2/src/gates/poseidon.rs b/plonky2/src/gates/poseidon.rs index c644ada5..c02eec84 100644 --- a/plonky2/src/gates/poseidon.rs +++ b/plonky2/src/gates/poseidon.rs @@ -26,8 +26,7 @@ use crate::plonk::vars::{EvaluationTargets, EvaluationVars, EvaluationVarsBase}; /// This also has some extra features to make it suitable for efficiently verifying Merkle proofs. /// It has a flag which can be used to swap the first four inputs with the next four, for ordering /// sibling digests. -#[derive(derivative::Derivative)] -#[derivative(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)] +#[derive(Debug, Default)] pub struct PoseidonGate, const D: usize>(PhantomData); impl, const D: usize> PoseidonGate { diff --git a/plonky2/src/gates/poseidon_mds.rs b/plonky2/src/gates/poseidon_mds.rs index dd494328..94c1486c 100644 --- a/plonky2/src/gates/poseidon_mds.rs +++ b/plonky2/src/gates/poseidon_mds.rs @@ -21,8 +21,7 @@ use crate::plonk::circuit_builder::CircuitBuilder; use crate::plonk::vars::{EvaluationTargets, EvaluationVars, EvaluationVarsBase}; /// Poseidon MDS Gate -#[derive(derivative::Derivative)] -#[derivative(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)] +#[derive(Debug, Default)] pub struct PoseidonMdsGate + Poseidon, const D: usize>(PhantomData); impl + Poseidon, const D: usize> PoseidonMdsGate { diff --git a/plonky2/src/iop/witness.rs b/plonky2/src/iop/witness.rs index 218008ac..fe6b9473 100644 --- a/plonky2/src/iop/witness.rs +++ b/plonky2/src/iop/witness.rs @@ -250,8 +250,7 @@ impl MatrixWitness { } } -#[derive(derivative::Derivative)] -#[derivative(Clone, Debug, Default(bound = ""))] +#[derive(Clone, Debug, Default)] pub struct PartialWitness { pub(crate) target_values: HashMap, }