Issue warning for using public visibility for interface functions

This commit is contained in:
Alex Beregszaszi
2018-02-01 10:28:00 +00:00
parent cc1c461fc0
commit b545987ec7
4 changed files with 12 additions and 3 deletions
@@ -5963,6 +5963,12 @@ BOOST_AUTO_TEST_CASE(interface_function_external)
BOOST_AUTO_TEST_CASE(interface_function_public)
{
char const* text = R"(
interface I {
function f() public;
}
)";
CHECK_WARNING(text, "Functions in interfaces should be declared external.");
text = R"(
pragma experimental "v0.5.0";
interface I {
function f() public;
@@ -6306,7 +6312,7 @@ BOOST_AUTO_TEST_CASE(no_unused_warning_interface_arguments)
{
char const* text = R"(
interface I {
function f(uint a) pure public returns (uint b);
function f(uint a) pure external returns (uint b);
}
)";
CHECK_SUCCESS_NO_WARNINGS(text);
+2 -2
View File
@@ -181,10 +181,10 @@ BOOST_AUTO_TEST_CASE(interface)
{
string text = R"(
interface D {
function f() view public;
function f() view external;
}
contract C is D {
function f() view public {}
function f() view external {}
}
)";
CHECK_SUCCESS_NO_WARNINGS(text);