diff --git a/libsolidity/analysis/TypeChecker.cpp b/libsolidity/analysis/TypeChecker.cpp index 762361080..94d9544df 100644 --- a/libsolidity/analysis/TypeChecker.cpp +++ b/libsolidity/analysis/TypeChecker.cpp @@ -337,7 +337,7 @@ bool TypeChecker::visit(FunctionDefinition const& _function) if (_function.libraryFunction()) m_errorReporter.typeError(7708_error, _function.location(), "Library functions cannot be payable."); if (_function.isOrdinary() && !_function.isPartOfExternalInterface()) - m_errorReporter.typeError(5587_error, _function.location(), "Internal functions cannot be payable."); + m_errorReporter.typeError(5587_error, _function.location(), "\"internal\" and \"private\" functions cannot be payable."); } auto checkArgumentAndReturnParameter = [&](VariableDeclaration const& var) { if (type(var)->category() == Type::Category::Mapping) diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/356_payable_internal.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/356_payable_internal.sol index 2bf491b5d..a21a18d9c 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/356_payable_internal.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/356_payable_internal.sol @@ -2,4 +2,4 @@ contract test { function f() payable internal {} } // ---- -// TypeError 5587: (20-52): Internal functions cannot be payable. +// TypeError 5587: (20-52): "internal" and "private" functions cannot be payable. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/357_payable_private.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/357_payable_private.sol index fcc0dba35..3436ce76f 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/357_payable_private.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/357_payable_private.sol @@ -2,4 +2,4 @@ contract test { function f() payable private {} } // ---- -// TypeError 5587: (20-51): Internal functions cannot be payable. +// TypeError 5587: (20-51): "internal" and "private" functions cannot be payable.