diff --git a/crates/sol-types/tests/ui/features/not(json)/abi.stderr b/crates/sol-types/tests/ui/features/not(json)/abi.stderr index 70c3a1e20c..d6aeaa2108 100644 --- a/crates/sol-types/tests/ui/features/not(json)/abi.stderr +++ b/crates/sol-types/tests/ui/features/not(json)/abi.stderr @@ -1,4 +1,4 @@ -error: the `#[sol(dyn_abi)]` attribute requires the `"json"` feature +error: the `#[sol(abi)]` attribute requires the `"json"` feature --> tests/ui/features/not(json)/abi.rs:3:1 | 3 | / sol! { diff --git a/crates/sol-types/tests/ui/keywords.stderr b/crates/sol-types/tests/ui/keywords.stderr index d373164e26..dc498e944b 100644 --- a/crates/sol-types/tests/ui/keywords.stderr +++ b/crates/sol-types/tests/ui/keywords.stderr @@ -1665,11 +1665,6 @@ error[E0573]: expected type, found module `crate` | | | you might have meant to refer to this struct | not a type - | -help: consider importing this struct instead - | -1 + use crate::crate; - | error[E0573]: expected type, found module `self` --> tests/ui/keywords.rs:5:9 @@ -1820,3 +1815,357 @@ error[E0117]: only traits defined in the current crate can be implemented for ar | = note: define and implement a trait or new type instead = note: this error originates in the macro `sol` which comes from the expansion of the macro `kws` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0609]: no field `crate` on type `crateCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `crate` on type `&crateCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `self` on type `selfCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `self` on type `&selfCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `Self` on type `(alloy_sol_types::private::Uint<256, 4>,)` + --> tests/ui/keywords.rs:7:22 + | +7 | uint $kw; + | ^^^ unknown field + +error[E0609]: no field `Self` on type `SelfCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `Self` on type `&SelfCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `super` on type `superCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `super` on type `&superCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#as` on type `asCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#as` on type `&asCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#break` on type `breakCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#break` on type `&breakCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#continue` on type `continueCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#continue` on type `&continueCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#else` on type `elseCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#else` on type `&elseCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#enum` on type `enumCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#enum` on type `&enumCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#false` on type `falseCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#false` on type `&falseCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#for` on type `forCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#for` on type `&forCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#if` on type `ifCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#if` on type `&ifCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#in` on type `inCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#in` on type `&inCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#let` on type `letCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#let` on type `&letCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#match` on type `matchCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#match` on type `&matchCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#return` on type `returnCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#return` on type `&returnCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#static` on type `staticCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#static` on type `&staticCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#struct` on type `structCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#struct` on type `&structCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#true` on type `trueCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#true` on type `&trueCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#type` on type `typeCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#type` on type `&typeCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#while` on type `whileCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#while` on type `&whileCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#abstract` on type `abstractCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#abstract` on type `&abstractCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#do` on type `doCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#do` on type `&doCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#final` on type `finalCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#final` on type `&finalCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#macro` on type `macroCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#macro` on type `¯oCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#override` on type `overrideCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#override` on type `&overrideCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#typeof` on type `typeofCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#typeof` on type `&typeofCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#virtual` on type `virtualCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#virtual` on type `&virtualCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#try` on type `tryCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field + +error[E0609]: no field `r#try` on type `&tryCall` + --> tests/ui/keywords.rs:10:31 + | +10 | function $kw(uint $kw); + | ^^^ unknown field diff --git a/crates/sol-types/tests/ui/type.stderr b/crates/sol-types/tests/ui/type.stderr index 567968ce7d..7feff1cbcf 100644 --- a/crates/sol-types/tests/ui/type.stderr +++ b/crates/sol-types/tests/ui/type.stderr @@ -153,3 +153,61 @@ error[E0277]: the trait bound `(alloy_sol_types::sol_data::Address, alloy_sol_ty (T1, T2, T3, T4, T5, T6, T7) and $N others = note: this error originates in the macro `sol` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0277]: the trait bound `(alloy_sol_types::private::Address, alloy_sol_types::private::Address, std::string::String, bool, Vec, alloy_sol_types::private::FixedBytes<1>, alloy_sol_types::private::FixedBytes<2>, alloy_sol_types::private::FixedBytes<3>, alloy_sol_types::private::FixedBytes<4>, alloy_sol_types::private::FixedBytes<5>, alloy_sol_types::private::FixedBytes<6>, alloy_sol_types::private::FixedBytes<7>, alloy_sol_types::private::FixedBytes<8>, alloy_sol_types::private::FixedBytes<9>, alloy_sol_types::private::FixedBytes<10>, alloy_sol_types::private::FixedBytes<11>, alloy_sol_types::private::FixedBytes<12>, alloy_sol_types::private::FixedBytes<13>, alloy_sol_types::private::FixedBytes<14>, alloy_sol_types::private::FixedBytes<15>, alloy_sol_types::private::FixedBytes<16>, alloy_sol_types::private::FixedBytes<17>, alloy_sol_types::private::FixedBytes<18>, alloy_sol_types::private::FixedBytes<19>, alloy_sol_types::private::FixedBytes<20>, alloy_sol_types::private::FixedBytes<21>, alloy_sol_types::private::FixedBytes<22>, alloy_sol_types::private::FixedBytes<23>, alloy_sol_types::private::FixedBytes<24>, alloy_sol_types::private::FixedBytes<25>, alloy_sol_types::private::FixedBytes<26>, alloy_sol_types::private::FixedBytes<27>, alloy_sol_types::private::FixedBytes<28>, alloy_sol_types::private::FixedBytes<29>, alloy_sol_types::private::FixedBytes<30>, alloy_sol_types::private::FixedBytes<31>, alloy_sol_types::private::FixedBytes<32>, Signed<256, 4>, i8, i16, i32, i32, i64, i64, i64, i64, i128, i128, i128, i128, i128, i128, i128, i128, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, alloy_sol_types::private::Uint<256, 4>, u8, u16, u32, u32, u64, u64, u64, u64, u128, u128, u128, u128, u128, u128, u128, u128, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>): SolTypeValue<(alloy_sol_types::sol_data::Address, alloy_sol_types::sol_data::Address, alloy_sol_types::sol_data::String, Bool, alloy_sol_types::sol_data::Bytes, alloy_sol_types::sol_data::FixedBytes<1>, alloy_sol_types::sol_data::FixedBytes<2>, alloy_sol_types::sol_data::FixedBytes<3>, alloy_sol_types::sol_data::FixedBytes<4>, alloy_sol_types::sol_data::FixedBytes<5>, alloy_sol_types::sol_data::FixedBytes<6>, alloy_sol_types::sol_data::FixedBytes<7>, alloy_sol_types::sol_data::FixedBytes<8>, alloy_sol_types::sol_data::FixedBytes<9>, alloy_sol_types::sol_data::FixedBytes<10>, alloy_sol_types::sol_data::FixedBytes<11>, alloy_sol_types::sol_data::FixedBytes<12>, alloy_sol_types::sol_data::FixedBytes<13>, alloy_sol_types::sol_data::FixedBytes<14>, alloy_sol_types::sol_data::FixedBytes<15>, alloy_sol_types::sol_data::FixedBytes<16>, alloy_sol_types::sol_data::FixedBytes<17>, alloy_sol_types::sol_data::FixedBytes<18>, alloy_sol_types::sol_data::FixedBytes<19>, alloy_sol_types::sol_data::FixedBytes<20>, alloy_sol_types::sol_data::FixedBytes<21>, alloy_sol_types::sol_data::FixedBytes<22>, alloy_sol_types::sol_data::FixedBytes<23>, alloy_sol_types::sol_data::FixedBytes<24>, alloy_sol_types::sol_data::FixedBytes<25>, alloy_sol_types::sol_data::FixedBytes<26>, alloy_sol_types::sol_data::FixedBytes<27>, alloy_sol_types::sol_data::FixedBytes<28>, alloy_sol_types::sol_data::FixedBytes<29>, alloy_sol_types::sol_data::FixedBytes<30>, alloy_sol_types::sol_data::FixedBytes<31>, alloy_sol_types::sol_data::FixedBytes<32>, Int<256>, Int<8>, Int<16>, Int<24>, Int<32>, Int<40>, Int<48>, Int<56>, Int<64>, Int<72>, Int<80>, Int<88>, Int<96>, Int<104>, Int<112>, Int<120>, Int<128>, Int<136>, Int<144>, Int<152>, Int<160>, Int<168>, Int<176>, Int<184>, Int<192>, Int<200>, Int<208>, Int<216>, Int<224>, Int<232>, Int<240>, Int<248>, Int<256>, alloy_sol_types::sol_data::Uint<256>, alloy_sol_types::sol_data::Uint<8>, alloy_sol_types::sol_data::Uint<16>, alloy_sol_types::sol_data::Uint<24>, alloy_sol_types::sol_data::Uint<32>, alloy_sol_types::sol_data::Uint<40>, alloy_sol_types::sol_data::Uint<48>, alloy_sol_types::sol_data::Uint<56>, alloy_sol_types::sol_data::Uint<64>, alloy_sol_types::sol_data::Uint<72>, alloy_sol_types::sol_data::Uint<80>, alloy_sol_types::sol_data::Uint<88>, alloy_sol_types::sol_data::Uint<96>, alloy_sol_types::sol_data::Uint<104>, alloy_sol_types::sol_data::Uint<112>, alloy_sol_types::sol_data::Uint<120>, alloy_sol_types::sol_data::Uint<128>, alloy_sol_types::sol_data::Uint<136>, alloy_sol_types::sol_data::Uint<144>, alloy_sol_types::sol_data::Uint<152>, alloy_sol_types::sol_data::Uint<160>, alloy_sol_types::sol_data::Uint<168>, alloy_sol_types::sol_data::Uint<176>, alloy_sol_types::sol_data::Uint<184>, alloy_sol_types::sol_data::Uint<192>, alloy_sol_types::sol_data::Uint<200>, alloy_sol_types::sol_data::Uint<208>, alloy_sol_types::sol_data::Uint<216>, alloy_sol_types::sol_data::Uint<224>, alloy_sol_types::sol_data::Uint<232>, alloy_sol_types::sol_data::Uint<240>, alloy_sol_types::sol_data::Uint<248>, alloy_sol_types::sol_data::Uint<256>)>` is not satisfied + --> tests/ui/type.rs:3:1 + | +3 | / sol! { +4 | | struct BuiltinTypes { +5 | | address a; +6 | | address payable ap; +... | +111 | | } +112 | | } + | |_^ the trait `SolTypeValue<(alloy_sol_types::sol_data::Address, alloy_sol_types::sol_data::Address, alloy_sol_types::sol_data::String, Bool, alloy_sol_types::sol_data::Bytes, alloy_sol_types::sol_data::FixedBytes<1>, alloy_sol_types::sol_data::FixedBytes<2>, alloy_sol_types::sol_data::FixedBytes<3>, alloy_sol_types::sol_data::FixedBytes<4>, alloy_sol_types::sol_data::FixedBytes<5>, alloy_sol_types::sol_data::FixedBytes<6>, alloy_sol_types::sol_data::FixedBytes<7>, alloy_sol_types::sol_data::FixedBytes<8>, alloy_sol_types::sol_data::FixedBytes<9>, alloy_sol_types::sol_data::FixedBytes<10>, alloy_sol_types::sol_data::FixedBytes<11>, alloy_sol_types::sol_data::FixedBytes<12>, alloy_sol_types::sol_data::FixedBytes<13>, alloy_sol_types::sol_data::FixedBytes<14>, alloy_sol_types::sol_data::FixedBytes<15>, alloy_sol_types::sol_data::FixedBytes<16>, alloy_sol_types::sol_data::FixedBytes<17>, alloy_sol_types::sol_data::FixedBytes<18>, alloy_sol_types::sol_data::FixedBytes<19>, alloy_sol_types::sol_data::FixedBytes<20>, alloy_sol_types::sol_data::FixedBytes<21>, alloy_sol_types::sol_data::FixedBytes<22>, alloy_sol_types::sol_data::FixedBytes<23>, alloy_sol_types::sol_data::FixedBytes<24>, alloy_sol_types::sol_data::FixedBytes<25>, alloy_sol_types::sol_data::FixedBytes<26>, alloy_sol_types::sol_data::FixedBytes<27>, alloy_sol_types::sol_data::FixedBytes<28>, alloy_sol_types::sol_data::FixedBytes<29>, alloy_sol_types::sol_data::FixedBytes<30>, alloy_sol_types::sol_data::FixedBytes<31>, alloy_sol_types::sol_data::FixedBytes<32>, Int<256>, Int<8>, Int<16>, Int<24>, Int<32>, Int<40>, Int<48>, Int<56>, Int<64>, Int<72>, Int<80>, Int<88>, Int<96>, Int<104>, Int<112>, Int<120>, Int<128>, Int<136>, Int<144>, Int<152>, Int<160>, Int<168>, Int<176>, Int<184>, Int<192>, Int<200>, Int<208>, Int<216>, Int<224>, Int<232>, Int<240>, Int<248>, Int<256>, alloy_sol_types::sol_data::Uint<256>, alloy_sol_types::sol_data::Uint<8>, alloy_sol_types::sol_data::Uint<16>, alloy_sol_types::sol_data::Uint<24>, alloy_sol_types::sol_data::Uint<32>, alloy_sol_types::sol_data::Uint<40>, alloy_sol_types::sol_data::Uint<48>, alloy_sol_types::sol_data::Uint<56>, alloy_sol_types::sol_data::Uint<64>, alloy_sol_types::sol_data::Uint<72>, alloy_sol_types::sol_data::Uint<80>, alloy_sol_types::sol_data::Uint<88>, alloy_sol_types::sol_data::Uint<96>, alloy_sol_types::sol_data::Uint<104>, alloy_sol_types::sol_data::Uint<112>, alloy_sol_types::sol_data::Uint<120>, alloy_sol_types::sol_data::Uint<128>, alloy_sol_types::sol_data::Uint<136>, alloy_sol_types::sol_data::Uint<144>, alloy_sol_types::sol_data::Uint<152>, alloy_sol_types::sol_data::Uint<160>, alloy_sol_types::sol_data::Uint<168>, alloy_sol_types::sol_data::Uint<176>, alloy_sol_types::sol_data::Uint<184>, alloy_sol_types::sol_data::Uint<192>, alloy_sol_types::sol_data::Uint<200>, alloy_sol_types::sol_data::Uint<208>, alloy_sol_types::sol_data::Uint<216>, alloy_sol_types::sol_data::Uint<224>, alloy_sol_types::sol_data::Uint<232>, alloy_sol_types::sol_data::Uint<240>, alloy_sol_types::sol_data::Uint<248>, alloy_sol_types::sol_data::Uint<256>)>` is not implemented for `(Address, ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ...)` + | + = help: the following other types implement trait `SolTypeValue`: + <() as SolTypeValue<()>> + <(T1,) as SolTypeValue<(U1,)>> + <(T1, T2) as SolTypeValue<(U1, U2)>> + <(T1, T2, T3) as SolTypeValue<(U1, U2, U3)>> + <(T1, T2, T3, T4) as SolTypeValue<(U1, U2, U3, U4)>> + <(T1, T2, T3, T4, T5) as SolTypeValue<(U1, U2, U3, U4, U5)>> + <(T1, T2, T3, T4, T5, T6) as SolTypeValue<(U1, U2, U3, U4, U5, U6)>> + <(T1, T2, T3, T4, T5, T6, T7) as SolTypeValue<(U1, U2, U3, U4, U5, U6, U7)>> + and $N others +note: required by a bound in `alloy_sol_types::SolType::abi_encoded_size` + --> src/types/ty.rs + | + | fn abi_encoded_size>(rust: &E) -> usize { + | ^^^^^^^^^^^^^^^^^^ required by this bound in `SolType::abi_encoded_size` + = note: this error originates in the macro `sol` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0277]: the trait bound `(alloy_sol_types::private::Address, alloy_sol_types::private::Address, std::string::String, bool, Vec, alloy_sol_types::private::FixedBytes<1>, alloy_sol_types::private::FixedBytes<2>, alloy_sol_types::private::FixedBytes<3>, alloy_sol_types::private::FixedBytes<4>, alloy_sol_types::private::FixedBytes<5>, alloy_sol_types::private::FixedBytes<6>, alloy_sol_types::private::FixedBytes<7>, alloy_sol_types::private::FixedBytes<8>, alloy_sol_types::private::FixedBytes<9>, alloy_sol_types::private::FixedBytes<10>, alloy_sol_types::private::FixedBytes<11>, alloy_sol_types::private::FixedBytes<12>, alloy_sol_types::private::FixedBytes<13>, alloy_sol_types::private::FixedBytes<14>, alloy_sol_types::private::FixedBytes<15>, alloy_sol_types::private::FixedBytes<16>, alloy_sol_types::private::FixedBytes<17>, alloy_sol_types::private::FixedBytes<18>, alloy_sol_types::private::FixedBytes<19>, alloy_sol_types::private::FixedBytes<20>, alloy_sol_types::private::FixedBytes<21>, alloy_sol_types::private::FixedBytes<22>, alloy_sol_types::private::FixedBytes<23>, alloy_sol_types::private::FixedBytes<24>, alloy_sol_types::private::FixedBytes<25>, alloy_sol_types::private::FixedBytes<26>, alloy_sol_types::private::FixedBytes<27>, alloy_sol_types::private::FixedBytes<28>, alloy_sol_types::private::FixedBytes<29>, alloy_sol_types::private::FixedBytes<30>, alloy_sol_types::private::FixedBytes<31>, alloy_sol_types::private::FixedBytes<32>, Signed<256, 4>, i8, i16, i32, i32, i64, i64, i64, i64, i128, i128, i128, i128, i128, i128, i128, i128, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, Signed<256, 4>, alloy_sol_types::private::Uint<256, 4>, u8, u16, u32, u32, u64, u64, u64, u64, u128, u128, u128, u128, u128, u128, u128, u128, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>, alloy_sol_types::private::Uint<256, 4>): SolTypeValue<(alloy_sol_types::sol_data::Address, alloy_sol_types::sol_data::Address, alloy_sol_types::sol_data::String, Bool, alloy_sol_types::sol_data::Bytes, alloy_sol_types::sol_data::FixedBytes<1>, alloy_sol_types::sol_data::FixedBytes<2>, alloy_sol_types::sol_data::FixedBytes<3>, alloy_sol_types::sol_data::FixedBytes<4>, alloy_sol_types::sol_data::FixedBytes<5>, alloy_sol_types::sol_data::FixedBytes<6>, alloy_sol_types::sol_data::FixedBytes<7>, alloy_sol_types::sol_data::FixedBytes<8>, alloy_sol_types::sol_data::FixedBytes<9>, alloy_sol_types::sol_data::FixedBytes<10>, alloy_sol_types::sol_data::FixedBytes<11>, alloy_sol_types::sol_data::FixedBytes<12>, alloy_sol_types::sol_data::FixedBytes<13>, alloy_sol_types::sol_data::FixedBytes<14>, alloy_sol_types::sol_data::FixedBytes<15>, alloy_sol_types::sol_data::FixedBytes<16>, alloy_sol_types::sol_data::FixedBytes<17>, alloy_sol_types::sol_data::FixedBytes<18>, alloy_sol_types::sol_data::FixedBytes<19>, alloy_sol_types::sol_data::FixedBytes<20>, alloy_sol_types::sol_data::FixedBytes<21>, alloy_sol_types::sol_data::FixedBytes<22>, alloy_sol_types::sol_data::FixedBytes<23>, alloy_sol_types::sol_data::FixedBytes<24>, alloy_sol_types::sol_data::FixedBytes<25>, alloy_sol_types::sol_data::FixedBytes<26>, alloy_sol_types::sol_data::FixedBytes<27>, alloy_sol_types::sol_data::FixedBytes<28>, alloy_sol_types::sol_data::FixedBytes<29>, alloy_sol_types::sol_data::FixedBytes<30>, alloy_sol_types::sol_data::FixedBytes<31>, alloy_sol_types::sol_data::FixedBytes<32>, Int<256>, Int<8>, Int<16>, Int<24>, Int<32>, Int<40>, Int<48>, Int<56>, Int<64>, Int<72>, Int<80>, Int<88>, Int<96>, Int<104>, Int<112>, Int<120>, Int<128>, Int<136>, Int<144>, Int<152>, Int<160>, Int<168>, Int<176>, Int<184>, Int<192>, Int<200>, Int<208>, Int<216>, Int<224>, Int<232>, Int<240>, Int<248>, Int<256>, alloy_sol_types::sol_data::Uint<256>, alloy_sol_types::sol_data::Uint<8>, alloy_sol_types::sol_data::Uint<16>, alloy_sol_types::sol_data::Uint<24>, alloy_sol_types::sol_data::Uint<32>, alloy_sol_types::sol_data::Uint<40>, alloy_sol_types::sol_data::Uint<48>, alloy_sol_types::sol_data::Uint<56>, alloy_sol_types::sol_data::Uint<64>, alloy_sol_types::sol_data::Uint<72>, alloy_sol_types::sol_data::Uint<80>, alloy_sol_types::sol_data::Uint<88>, alloy_sol_types::sol_data::Uint<96>, alloy_sol_types::sol_data::Uint<104>, alloy_sol_types::sol_data::Uint<112>, alloy_sol_types::sol_data::Uint<120>, alloy_sol_types::sol_data::Uint<128>, alloy_sol_types::sol_data::Uint<136>, alloy_sol_types::sol_data::Uint<144>, alloy_sol_types::sol_data::Uint<152>, alloy_sol_types::sol_data::Uint<160>, alloy_sol_types::sol_data::Uint<168>, alloy_sol_types::sol_data::Uint<176>, alloy_sol_types::sol_data::Uint<184>, alloy_sol_types::sol_data::Uint<192>, alloy_sol_types::sol_data::Uint<200>, alloy_sol_types::sol_data::Uint<208>, alloy_sol_types::sol_data::Uint<216>, alloy_sol_types::sol_data::Uint<224>, alloy_sol_types::sol_data::Uint<232>, alloy_sol_types::sol_data::Uint<240>, alloy_sol_types::sol_data::Uint<248>, alloy_sol_types::sol_data::Uint<256>)>` is not satisfied + --> tests/ui/type.rs:3:1 + | +3 | / sol! { +4 | | struct BuiltinTypes { +5 | | address a; +6 | | address payable ap; +... | +111 | | } +112 | | } + | |_^ the trait `SolTypeValue<(alloy_sol_types::sol_data::Address, alloy_sol_types::sol_data::Address, alloy_sol_types::sol_data::String, Bool, alloy_sol_types::sol_data::Bytes, alloy_sol_types::sol_data::FixedBytes<1>, alloy_sol_types::sol_data::FixedBytes<2>, alloy_sol_types::sol_data::FixedBytes<3>, alloy_sol_types::sol_data::FixedBytes<4>, alloy_sol_types::sol_data::FixedBytes<5>, alloy_sol_types::sol_data::FixedBytes<6>, alloy_sol_types::sol_data::FixedBytes<7>, alloy_sol_types::sol_data::FixedBytes<8>, alloy_sol_types::sol_data::FixedBytes<9>, alloy_sol_types::sol_data::FixedBytes<10>, alloy_sol_types::sol_data::FixedBytes<11>, alloy_sol_types::sol_data::FixedBytes<12>, alloy_sol_types::sol_data::FixedBytes<13>, alloy_sol_types::sol_data::FixedBytes<14>, alloy_sol_types::sol_data::FixedBytes<15>, alloy_sol_types::sol_data::FixedBytes<16>, alloy_sol_types::sol_data::FixedBytes<17>, alloy_sol_types::sol_data::FixedBytes<18>, alloy_sol_types::sol_data::FixedBytes<19>, alloy_sol_types::sol_data::FixedBytes<20>, alloy_sol_types::sol_data::FixedBytes<21>, alloy_sol_types::sol_data::FixedBytes<22>, alloy_sol_types::sol_data::FixedBytes<23>, alloy_sol_types::sol_data::FixedBytes<24>, alloy_sol_types::sol_data::FixedBytes<25>, alloy_sol_types::sol_data::FixedBytes<26>, alloy_sol_types::sol_data::FixedBytes<27>, alloy_sol_types::sol_data::FixedBytes<28>, alloy_sol_types::sol_data::FixedBytes<29>, alloy_sol_types::sol_data::FixedBytes<30>, alloy_sol_types::sol_data::FixedBytes<31>, alloy_sol_types::sol_data::FixedBytes<32>, Int<256>, Int<8>, Int<16>, Int<24>, Int<32>, Int<40>, Int<48>, Int<56>, Int<64>, Int<72>, Int<80>, Int<88>, Int<96>, Int<104>, Int<112>, Int<120>, Int<128>, Int<136>, Int<144>, Int<152>, Int<160>, Int<168>, Int<176>, Int<184>, Int<192>, Int<200>, Int<208>, Int<216>, Int<224>, Int<232>, Int<240>, Int<248>, Int<256>, alloy_sol_types::sol_data::Uint<256>, alloy_sol_types::sol_data::Uint<8>, alloy_sol_types::sol_data::Uint<16>, alloy_sol_types::sol_data::Uint<24>, alloy_sol_types::sol_data::Uint<32>, alloy_sol_types::sol_data::Uint<40>, alloy_sol_types::sol_data::Uint<48>, alloy_sol_types::sol_data::Uint<56>, alloy_sol_types::sol_data::Uint<64>, alloy_sol_types::sol_data::Uint<72>, alloy_sol_types::sol_data::Uint<80>, alloy_sol_types::sol_data::Uint<88>, alloy_sol_types::sol_data::Uint<96>, alloy_sol_types::sol_data::Uint<104>, alloy_sol_types::sol_data::Uint<112>, alloy_sol_types::sol_data::Uint<120>, alloy_sol_types::sol_data::Uint<128>, alloy_sol_types::sol_data::Uint<136>, alloy_sol_types::sol_data::Uint<144>, alloy_sol_types::sol_data::Uint<152>, alloy_sol_types::sol_data::Uint<160>, alloy_sol_types::sol_data::Uint<168>, alloy_sol_types::sol_data::Uint<176>, alloy_sol_types::sol_data::Uint<184>, alloy_sol_types::sol_data::Uint<192>, alloy_sol_types::sol_data::Uint<200>, alloy_sol_types::sol_data::Uint<208>, alloy_sol_types::sol_data::Uint<216>, alloy_sol_types::sol_data::Uint<224>, alloy_sol_types::sol_data::Uint<232>, alloy_sol_types::sol_data::Uint<240>, alloy_sol_types::sol_data::Uint<248>, alloy_sol_types::sol_data::Uint<256>)>` is not implemented for `(Address, ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ...)` + | + = help: the following other types implement trait `SolTypeValue`: + <() as SolTypeValue<()>> + <(T1,) as SolTypeValue<(U1,)>> + <(T1, T2) as SolTypeValue<(U1, U2)>> + <(T1, T2, T3) as SolTypeValue<(U1, U2, U3)>> + <(T1, T2, T3, T4) as SolTypeValue<(U1, U2, U3, U4)>> + <(T1, T2, T3, T4, T5) as SolTypeValue<(U1, U2, U3, U4, U5)>> + <(T1, T2, T3, T4, T5, T6) as SolTypeValue<(U1, U2, U3, U4, U5, U6)>> + <(T1, T2, T3, T4, T5, T6, T7) as SolTypeValue<(U1, U2, U3, U4, U5, U6, U7)>> + and $N others +note: required by a bound in `alloy_sol_types::SolType::abi_encode_packed_to` + --> src/types/ty.rs + | + | fn abi_encode_packed_to>(rust: &E, out: &mut Vec) { + | ^^^^^^^^^^^^^^^^^^ required by this bound in `SolType::abi_encode_packed_to` + = note: this error originates in the macro `sol` (in Nightly builds, run with -Z macro-backtrace for more info)