diff --git a/ssz/Cargo.toml b/ssz/Cargo.toml index 42a176c..61bc451 100644 --- a/ssz/Cargo.toml +++ b/ssz/Cargo.toml @@ -25,7 +25,6 @@ itertools = "0.13.0" serde = "1.0.0" serde_derive = "1.0.0" typenum = "1.12.0" -derivative = "2.1.1" arbitrary = { version = "1.0", features = ["derive"], optional = true } [features] diff --git a/ssz/src/bitfield.rs b/ssz/src/bitfield.rs index 3cf502f..ce5b442 100644 --- a/ssz/src/bitfield.rs +++ b/ssz/src/bitfield.rs @@ -1,6 +1,5 @@ use crate::{Decode, DecodeError, Encode}; use core::marker::PhantomData; -use derivative::Derivative; use serde::de::{Deserialize, Deserializer}; use serde::ser::{Serialize, Serializer}; use serde_utils::hex::{encode as hex_encode, PrefixedHexVisitor}; @@ -111,8 +110,7 @@ pub type BitVector = Bitfield>; /// The internal representation of the bitfield is the same as that required by SSZ. The lowest /// byte (by `Vec` index) stores the lowest bit-indices and the right-most bit stores the lowest /// bit-index. E.g., `smallvec![0b0000_0001, 0b0000_0010]` has bits `0, 9` set. -#[derive(Clone, Debug, Derivative)] -#[derivative(PartialEq, Eq, Hash(bound = ""))] +#[derive(Clone, PartialEq, Eq, Hash, Debug)] pub struct Bitfield { bytes: SmallVec<[u8; SMALLVEC_LEN]>, len: usize,