mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Added error message for virtual (library) functions; test case
This commit is contained in:
parent
3beaae6822
commit
042ccd24ab
@ -332,6 +332,8 @@ bool TypeChecker::visit(FunctionDefinition const& _function)
|
|||||||
m_errorReporter.warning(_function.location(), "Interface functions are implicitly \"virtual\"");
|
m_errorReporter.warning(_function.location(), "Interface functions are implicitly \"virtual\"");
|
||||||
if (_function.visibility() == Visibility::Private)
|
if (_function.visibility() == Visibility::Private)
|
||||||
m_errorReporter.typeError(_function.location(), "\"virtual\" and \"private\" cannot be used together.");
|
m_errorReporter.typeError(_function.location(), "\"virtual\" and \"private\" cannot be used together.");
|
||||||
|
if (isLibraryFunction)
|
||||||
|
m_errorReporter.typeError(_function.location(), "Library functions cannot be \"virtual\".");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_function.isPayable())
|
if (_function.isPayable())
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
library L {
|
||||||
|
function f() internal pure virtual returns (uint) { return 0; }
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// TypeError: (16-79): Library functions cannot be "virtual".
|
Loading…
Reference in New Issue
Block a user