Skip to content

Commit 152f2bb

Browse files
authored
Re-export context_deserialize_derive inside context_deserialize (#7852)
Re-export `context_deserialize_derive` inside of `context_deserialize` so they are both available from the same interface, which matches how popular crates (like `serde`) handle this. This also nests both crates inside a new `context_deserialize` directory which will make it easier to eventually spin out into a different repo (if/when) we decide to do that (plus I prefer it aesthetically).
1 parent 918121e commit 152f2bb

File tree

21 files changed

+56
-39
lines changed

21 files changed

+56
-39
lines changed

Cargo.lock

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ members = [
4848
"common/validator_dir",
4949
"common/warp_utils",
5050
"common/workspace_members",
51-
"consensus/context_deserialize",
52-
"consensus/context_deserialize_derive",
51+
"consensus/context_deserialize/context_deserialize",
52+
"consensus/context_deserialize/context_deserialize_derive",
5353
"consensus/fixed_bytes",
5454
"consensus/fork_choice",
5555
"consensus/int_to_bytes",
@@ -123,8 +123,10 @@ clap_utils = { path = "common/clap_utils" }
123123
compare_fields = { path = "common/compare_fields" }
124124
compare_fields_derive = { path = "common/compare_fields_derive" }
125125
console-subscriber = "0.4"
126-
context_deserialize = { path = "consensus/context_deserialize" }
127-
context_deserialize_derive = { path = "consensus/context_deserialize_derive" }
126+
context_deserialize = { path = "consensus/context_deserialize/context_deserialize", features = [
127+
"all",
128+
] }
129+
context_deserialize_derive = { path = "consensus/context_deserialize/context_deserialize_derive" }
128130
criterion = "0.5"
129131
delay_map = "0.4"
130132
deposit_contract = { path = "common/deposit_contract" }

consensus/context_deserialize/Cargo.toml

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[package]
2+
name = "context_deserialize"
3+
version = "0.1.0"
4+
edition = "2021"
5+
6+
[features]
7+
default = ["derive"]
8+
derive = ["dep:context_deserialize_derive"]
9+
milhouse = ["dep:milhouse"]
10+
ssz = ["dep:ssz_types"]
11+
all = ["derive", "milhouse", "ssz"]
12+
13+
[dependencies]
14+
context_deserialize_derive = { version = "0.1.0", path = "../context_deserialize_derive", optional = true }
15+
milhouse = { workspace = true, optional = true }
16+
serde = { workspace = true }
17+
ssz_types = { workspace = true, optional = true }
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
mod core;
2+
3+
#[cfg(feature = "milhouse")]
4+
mod milhouse;
5+
6+
#[cfg(feature = "ssz")]
7+
mod ssz;

consensus/context_deserialize/src/ssz_impls.rs renamed to consensus/context_deserialize/context_deserialize/src/impls/ssz.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
use crate::serde::de::Error;
21
use crate::ContextDeserialize;
3-
use serde::de::Deserializer;
4-
use serde::Deserialize;
5-
use ssz_types::length::{Fixed, Variable};
6-
use ssz_types::typenum::Unsigned;
7-
use ssz_types::{Bitfield, FixedVector};
2+
use serde::{
3+
de::{Deserializer, Error},
4+
Deserialize,
5+
};
6+
use ssz_types::{
7+
length::{Fixed, Variable},
8+
typenum::Unsigned,
9+
Bitfield, FixedVector,
10+
};
811

912
impl<'de, C, T, N> ContextDeserialize<'de, C> for FixedVector<T, N>
1013
where

consensus/context_deserialize/src/lib.rs renamed to consensus/context_deserialize/context_deserialize/src/lib.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
pub mod impls;
2-
pub mod milhouse;
3-
pub mod ssz_impls;
1+
mod impls;
2+
3+
#[cfg(feature = "derive")]
4+
pub use context_deserialize_derive::context_deserialize;
45

5-
extern crate serde;
66
use serde::de::Deserializer;
77

88
/// General-purpose deserialization trait that accepts extra context `C`.

0 commit comments

Comments
 (0)