Skip to content

Commit 1473ed4

Browse files
authored
Merge pull request #16666 from cuiweixie/fix/natspec-disallow-return-on-events
NatSpec: Disallow `@return` tag on events.
2 parents 9cdc2bc + f3cc13d commit 1473ed4

4 files changed

Lines changed: 18 additions & 1 deletion

File tree

Changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Language Features:
55
Compiler Features:
66

77
Bugfixes:
8+
* NatSpec: Disallow `@return` tag in event documentation.
89

910

1011
### 0.8.35 (2026-04-29)

libsolidity/analysis/DocStringTagParser.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ void DocStringTagParser::handleCallable(
285285
StructurallyDocumentedAnnotation& _annotation
286286
)
287287
{
288-
static std::set<std::string> const validEventTags = std::set<std::string>{"dev", "notice", "return", "param"};
288+
static std::set<std::string> const validEventTags = std::set<std::string>{"dev", "notice", "param"};
289289
static std::set<std::string> const validErrorTags = std::set<std::string>{"dev", "notice", "param"};
290290
static std::set<std::string> const validModifierTags = std::set<std::string>{"dev", "notice", "param", "inheritdoc"};
291291
static std::set<std::string> const validTags = std::set<std::string>{"dev", "notice", "return", "param", "inheritdoc"};
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
contract C {
2+
/// @return foo
3+
event E(uint x);
4+
}
5+
// ----
6+
// DocstringParsingError 6546: (14-29): Documentation tag @return not valid for events.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
interface I {
2+
event E(uint x);
3+
}
4+
contract C is I {
5+
/// @return bar
6+
event E(uint x);
7+
}
8+
// ----
9+
// DocstringParsingError 6546: (53-68): Documentation tag @return not valid for events.
10+
// DeclarationError 5883: (70-86): Event with same name and parameter types defined twice.

0 commit comments

Comments
 (0)