alloy-rs / alloy-rs/core

[Feature] Implement `sol-types` traits in `sol!` without tuples

Open
#261 2 comments 3 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
966
Forks
274
Avg merge
1d 21h
Merged PRs (30d)
15

Description

### Component

sol! macro

### Describe the feature you would like

Currently we implement all traits by deferring everything to a tuple of the inner types (struct, function arguments and returns, etc.).

This is bad because it:
- duplicates the underlying types
- has lower runtime performance due to needing to clone the types to then just use the tuple by reference
- complicates the API
- limits the number of struct fields, function arguments etc allowed to the max tuple size implemented by the library
- overall, it's just not how you implement procedural macros :smile_cat:

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.