argotorg / argotorg/solidity

Disallow virtual modifiers

Open
#12,483 2 comments 8 reactions 0 assignees View on GitHub
breaking change :warning: language design :rage4: low effort medium impact must have
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
2d 19h
Merged PRs (30d)
29

Description

Modifiers are already a very complicated concept and we should not make it more difficult by allowing them to be virtual. Except for weird cases (adding another placeholder, putting it inside a loop, ...), you can get the same behaviour by adding a virtual function that is called from the modifier.

I would propose to remove this feature from the language with 0.9.0.

Contributor guide

Open the contributing guide

Research direction

The issue proposes removing virtual modifiers from the Solidity language in the 0.9.0 release. Start by locating the compiler and language tests that cover virtual modifiers, then determine all behavior and compatibility cases that must be removed. Done means virtual modifiers are no longer accepted while ordinary modifier behavior and the proposed virtual-function alternative remain supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, solidity
Domain
compilers
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.