New process for experimental features
- Dominant language
- C++
- Stars
- 25.7k
- Forks
- 6.2k
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 29
Description
Implement changes needed to introduce the [New process for experimental features in Solidity](https://notes.argot.org/s/@solidity-experimental-features-new-process) that we have decided to adopt.
- [x] Introduce `--experimental`/`settings.experimental` in the compiler
- ~Make `--help` output dependent on the flag~
- [x] Include experimental features in `--help` and Standard JSON input docs and clearly mark those that are already there as experimental.
- [x] Gate all the experimental features behind the flag:
- AST import
- EVM Assembly Import
- IR AST output
- Experimental EVM versions
- Ethdebug
- SSA CFG
- (optional) Generic Solidity prototype
- (optional) LSP
- [ ] Add the list of experimental features to metadata.
- [x] Introduce `experimental` EVM version for testing purposes. https://github.com/argotorg/solidity/pull/16443
- [x] Fix #15835
- [x] Create a documentation page about experimental features:
- Our process around them, including lack of any stability guarantees.
- How to enable experimental features.
- List of all features that are currently considered experimental.
- [x] Add a pre-release section to the release checklist.
- [x] Make sure our scripts can handle the `v-pre.` scheme for pre-release versions:
- `get_version.sh`
- scripts in solc-bin
- scripts in solc-js
Contributor guide
Research direction
Use the unchecked checklist item—adding the list of experimental features to metadata—as the remaining scope. First locate where compiler metadata is defined and generated, then compare the existing experimental-feature list with the metadata output; done means the list is present and accurately reflects the features described in this issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100