Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,488 changes: 1,282 additions & 206 deletions Cargo.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[toolchain]
channel = "1.81.0"
channel = "1.88.0"
profile = "default"
6 changes: 3 additions & 3 deletions serde-generate/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ readme = "README.md"
keywords = ["data-structures", "serialization", "serde"]
categories = ["encoding", "development-tools"]
edition = "2021"
rust-version = "1.60"
rust-version = "1.88.0"
exclude = [
# Readme template that doesn't need to be included.
"README.tpl",
Expand All @@ -27,7 +27,7 @@ phf = { version = "0.10", features = ["macros"], optional = true }
serde-reflection = { path = "../serde-reflection", version = "0.5.2" }

[dev-dependencies]
alloy-sol-types = "0.8.18"
alloy-sol-types = "1.1.2"
hex = "0.4.3"
lazy_static = "1.4.0"
regex = "1.5.5"
Expand All @@ -38,7 +38,7 @@ serde_yaml = "0.8.17"
bincode = "1.3.3"
bcs = "0.1.3"
maplit = "1.0.2"
revm = "19.2.0"
revm = { version = "34.0.0", default-features = false, features = ["std", "secp256k1", "portable"] }
serde_json = "1.0.115"

[features]
Expand Down
2 changes: 1 addition & 1 deletion serde-generate/src/analyzer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ where
// (If possible, visit children by increasing key.)
queue.push(node.clone());
if !children.contains_key(&node) {
panic!("The node {:?} is missing", node);
panic!("The node {node:?} is missing");
}
for child in children[&node].iter().rev() {
if !seen.contains(child) {
Expand Down
42 changes: 17 additions & 25 deletions serde-generate/src/cpp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,7 @@ impl<'a> CodeGenerator<'a> {
let mut external_qualified_names = HashMap::new();
for (namespace, names) in &config.external_definitions {
for name in names {
external_qualified_names
.insert(name.to_string(), format!("{}::{}", namespace, name));
external_qualified_names.insert(name.to_string(), format!("{namespace}::{name}"));
}
}
Self {
Expand Down Expand Up @@ -157,7 +156,7 @@ where
path.push(name.to_string());
if let Some(doc) = self.generator.config.comments.get(&path) {
let text = textwrap::indent(doc, "/// ").replace("\n\n", "\n///\n");
write!(self.out, "{}", text)?;
write!(self.out, "{text}")?;
}
Ok(())
}
Expand All @@ -169,7 +168,7 @@ where
.custom_code
.get(&self.current_namespace)
{
write!(self.out, "\n{}", code)?;
write!(self.out, "\n{code}")?;
}
Ok(())
}
Expand All @@ -191,7 +190,7 @@ where
if require_known_size && !self.known_sizes.contains(x.as_str()) {
// Cannot use unique_ptr because we need a copy constructor (e.g. for vectors)
// and in-depth equality.
format!("serde::value_ptr<{}>", qname)
format!("serde::value_ptr<{qname}>")
} else {
qname
}
Expand Down Expand Up @@ -253,7 +252,7 @@ where
) -> Result<()> {
writeln!(self.out)?;
self.output_comment(name)?;
writeln!(self.out, "struct {} {{", name)?;
writeln!(self.out, "struct {name} {{")?;
self.enter_class(name);
for field in fields {
self.output_comment(&field.name)?;
Expand Down Expand Up @@ -292,7 +291,7 @@ where
}

fn output_container_forward_definition(&mut self, name: &str) -> Result<()> {
writeln!(self.out, "\nstruct {};", name)
writeln!(self.out, "\nstruct {name};")
}

fn output_enum_container(
Expand All @@ -302,7 +301,7 @@ where
) -> Result<()> {
writeln!(self.out)?;
self.output_comment(name)?;
writeln!(self.out, "struct {} {{", name)?;
writeln!(self.out, "struct {name} {{")?;
self.enter_class(name);
for (expected_index, (index, variant)) in variants.iter().enumerate() {
assert_eq!(*index, expected_index as u32);
Expand All @@ -312,8 +311,8 @@ where
self.out,
"\nstd::variant<{}> value;",
variants
.iter()
.map(|(_, v)| v.name.clone())
.values()
.map(|v| v.name.clone())
.collect::<Vec<_>>()
.join(", "),
)?;
Expand All @@ -327,8 +326,7 @@ where
fn output_class_method_declarations(&mut self, name: &str) -> Result<()> {
writeln!(
self.out,
"friend bool operator==(const {}&, const {}&);",
name, name
"friend bool operator==(const {name}&, const {name}&);"
)?;
if self.generator.config.serialization {
for encoding in &self.generator.config.encodings {
Expand Down Expand Up @@ -372,15 +370,13 @@ where
fn output_struct_equality_test(&mut self, name: &str, fields: &[&str]) -> Result<()> {
writeln!(
self.out,
"\ninline bool operator==(const {0} &lhs, const {0} &rhs) {{",
name,
"\ninline bool operator==(const {name} &lhs, const {name} &rhs) {{",
)?;
self.out.indent();
for field in fields {
writeln!(
self.out,
"if (!(lhs.{0} == rhs.{0})) {{ return false; }}",
field,
"if (!(lhs.{field} == rhs.{field})) {{ return false; }}",
)?;
}
writeln!(self.out, "return true;")?;
Expand Down Expand Up @@ -443,8 +439,7 @@ inline {} {}::{}Deserialize(std::vector<uint8_t> input) {{
r#"
template <>
template <typename Serializer>
void serde::Serializable<{0}>::serialize(const {0} &obj, Serializer &serializer) {{"#,
name,
void serde::Serializable<{name}>::serialize(const {name} &obj, Serializer &serializer) {{"#,
)?;
self.out.indent();
if is_container {
Expand All @@ -453,8 +448,7 @@ void serde::Serializable<{0}>::serialize(const {0} &obj, Serializer &serializer)
for field in fields {
writeln!(
self.out,
"serde::Serializable<decltype(obj.{0})>::serialize(obj.{0}, serializer);",
field,
"serde::Serializable<decltype(obj.{field})>::serialize(obj.{field}, serializer);",
)?;
}
if is_container {
Expand All @@ -475,19 +469,17 @@ void serde::Serializable<{0}>::serialize(const {0} &obj, Serializer &serializer)
r#"
template <>
template <typename Deserializer>
{0} serde::Deserializable<{0}>::deserialize(Deserializer &deserializer) {{"#,
name,
{name} serde::Deserializable<{name}>::deserialize(Deserializer &deserializer) {{"#,
)?;
self.out.indent();
if is_container {
writeln!(self.out, "deserializer.increase_container_depth();")?;
}
writeln!(self.out, "{} obj;", name)?;
writeln!(self.out, "{name} obj;")?;
for field in fields {
writeln!(
self.out,
"obj.{0} = serde::Deserializable<decltype(obj.{0})>::deserialize(deserializer);",
field,
"obj.{field} = serde::Deserializable<decltype(obj.{field})>::deserialize(deserializer);",
)?;
}
if is_container {
Expand Down
Loading
Loading