argotorg / argotorg/solidity

Natspec parsing of custom tags always expects a value potentially swallowing other tags.

Open
#12,732 0 comments 0 reactions 0 assignees View on GitHub
bug :bug: low effort low impact must have eventually
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
2d 19h
Merged PRs (30d)
29

Description

```
$ cat test.sol
contract C {
/// @custom:test
/// @param x test
function f(uint x) public pure {
}
}
$ build/solc/solc --devdoc test.sol
======= test.sol:C =======
Developer Documentation
{
"kind": "dev",
"methods":
{
"f(uint256)":
{
"custom:test": "@param x test"
}
},
"version": 1
}
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the behavior with test.sol using build/solc/solc --devdoc, focusing on the @custom:test and following @param x test tags. Trace the Natspec parsing entry point that produces the Developer Documentation output. Done means custom tags no longer consume the next tag as their value, while the documented tags remain parsed separately.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, solidity
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.