Clarify the difference between `--yul`, `--assemble` and `--strict-assembly` in the CLI help
- Dominant language
- C++
- Stars
- 25.7k
- Forks
- 6.2k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 21
Description
On the CLI we have 3 options for compiling Yul, and they're different but their descriptions do not explain how. To users `--yul` seems like the natural choice and the result is confusion (e.g. [How to compile IR into bin?](https://forum.soliditylang.org/t/how-to-compile-ir-into-bin/1146)).
The options will likely change after #7830 but we should clarify the CLI help even before then.
### Current descriptions
```
--assemble Switch to assembly mode, ignoring all options except
--machine, --yul-dialect, --optimize and
--yul-optimizations and assumes input is assembly.
--yul Switch to Yul mode, ignoring all options except
--machine, --yul-dialect, --optimize and
--yul-optimizations and assumes input is Yul.
--strict-assembly Switch to strict assembly mode, ignoring all options
except --machine, --yul-dialect, --optimize and
--yul-optimizations and assumes input is strict
assembly.
```
Contributor guide
Research direction
Start by locating the CLI help definitions for --yul, --assemble, and --strict-assembly, then compare their documented behavior with the concerns in #7830. Clarify the descriptions so users can distinguish the three compilation modes, and verify the resulting CLI help output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, solidity
- Domain
- cli, documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100