mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #3790 from ethereum/empty-structs
Disallow empty structs
This commit is contained in:
@@ -255,3 +255,17 @@ bool SyntaxChecker::visit(VariableDeclaration const& _declaration)
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SyntaxChecker::visit(StructDefinition const& _struct)
|
||||
{
|
||||
bool const v050 = m_sourceUnit->annotation().experimentalFeatures.count(ExperimentalFeature::V050);
|
||||
|
||||
if (_struct.members().empty())
|
||||
{
|
||||
if (v050)
|
||||
m_errorReporter.syntaxError(_struct.location(), "Defining empty structs is disallowed.");
|
||||
else
|
||||
m_errorReporter.warning(_struct.location(), "Defining empty structs is deprecated.");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -71,6 +71,8 @@ private:
|
||||
|
||||
virtual bool visit(VariableDeclaration const& _declaration) override;
|
||||
|
||||
virtual bool visit(StructDefinition const& _struct) override;
|
||||
|
||||
ErrorReporter& m_errorReporter;
|
||||
|
||||
/// Flag that indicates whether a function modifier actually contains '_'.
|
||||
|
||||
Reference in New Issue
Block a user