aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/libsolidity/SolidityNameAndTypeResolution.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/libsolidity/SolidityNameAndTypeResolution.cpp b/test/libsolidity/SolidityNameAndTypeResolution.cpp
index 3c49051e..637ff5cc 100644
--- a/test/libsolidity/SolidityNameAndTypeResolution.cpp
+++ b/test/libsolidity/SolidityNameAndTypeResolution.cpp
@@ -6182,6 +6182,18 @@ BOOST_AUTO_TEST_CASE(warn_unspecified_storage)
CHECK_WARNING(text, "is declared as a storage pointer. Use an explicit \"storage\" keyword to silence this warning");
}
+BOOST_AUTO_TEST_CASE(implicit_conversion_disallowed)
+{
+ char const* text = R"(
+ contract C {
+ function f() returns (bytes4) {
+ uint32 tmp = 1;
+ return tmp;
+ }
+ }
+ )";
+ CHECK_ERROR(text, TypeError, "Return argument type uint32 is not implicitly convertible to expected type (type of first return variable) bytes4.");
+}
BOOST_AUTO_TEST_SUITE_END()