-
Notifications
You must be signed in to change notification settings - Fork 433
Closed as not planned
Closed as not planned
Copy link
Description
I know that there's a keen interest in keeping Forge Std compatible with Solidity v0.6 and Solidity v0.7, but I also think that there would be quite a few benefits in upgrading to Solidity v0.8, so I made this post to shed some light on them.
Even if we don't upgrade the pragma now, it might be worth it keep these advantages in the back of our minds (maybe we could implement them on a "solidity-v8" branch).
- Provide a speed bump to Solidity v0.8 users (probably the majority of users at the time of writing this) via:
uncheckedarithmetic- Reverting with custom errors instead of revert reason strings
- Simplify and even delete some functions, e.g. getCode could be replaced by
<address>.code. - Free functions (introduced in v0.7.1) (see what how I used them in PRBTest).
- Provide type safety via user-defined value types (introduced v0.8.13), e.g. in
assertApproxEqRel. type(uint256).maxto get the min and max values permitted in a given type.- Make it possible to implement the change proposed by @mds1 in #78 (because interfaces and libraries can inherit in Solidity v0.8)
- Make it possible to upstream assertions to PRBTest (see discussion here).
And potentially several other enhancements could be made to the syntax in StdStorage.
Metadata
Metadata
Assignees
Labels
No labels