--- a/crates/evm-coder/tests/abi_derive_generation.rs +++ b/crates/evm-coder/tests/abi_derive_generation.rs @@ -1,9 +1,11 @@ use evm_coder_procedural::AbiCoder; use evm_coder::types::bytes; -// TODO: move to build_failed tests -// #[derive(AbiCoder, PartialEq, Debug)] -// struct TypeStructUnit {} +#[test] +fn empty_struct() { + let t = trybuild::TestCases::new(); + t.compile_fail("tests/build_failed/abi_derive_generation.rs"); +} #[derive(AbiCoder, PartialEq, Debug)] struct TypeStruct1SimpleParam { --- /dev/null +++ b/crates/evm-coder/tests/build_failed/abi_derive_generation.rs @@ -0,0 +1,11 @@ +use evm_coder_procedural::AbiCoder; + +#[derive(AbiCoder, PartialEq, Debug)] +struct EmptyStruct {} + +#[derive(AbiCoder, PartialEq, Debug)] +struct EmptyTupleStruct(); + +fn main() { + assert!(false); +} --- /dev/null +++ b/crates/evm-coder/tests/build_failed/abi_derive_generation.stderr @@ -0,0 +1,11 @@ +error: Empty structs not supported + --> tests/build_failed/abi_derive_generation.rs:4:8 + | +4 | struct EmptyStruct {} + | ^^^^^^^^^^^ + +error: Empty structs not supported + --> tests/build_failed/abi_derive_generation.rs:7:8 + | +7 | struct EmptyTupleStruct(); + | ^^^^^^^^^^^^^^^^