Implemented events with function type as one of its indexed parameters

This commit is contained in:
Harikrishnan Mulackal
2020-09-30 12:11:38 +02:00
parent 7a86a61b08
commit 3970412422
5 changed files with 89 additions and 5 deletions
@@ -0,0 +1,6 @@
contract C {
event Test(function() external indexed);
function f() public {
emit Test(this.f);
}
}
@@ -0,0 +1,35 @@
library L {
function f() public {
int x = 1;
}
}
contract C {
event Test(function() external indexed);
function g() public {
Test(L.f);
}
}
contract D {
event Test(function() external);
function f() public {
Test(L.f);
}
}
contract E {
event Test(function() external indexed);
using L for D;
function k() public {
Test(D.f);
}
}
// ----
// TypeError 9553: (140-143): Invalid type for argument in function call. Invalid implicit conversion from function () to function () external requested.
// TypeError 9553: (230-233): Invalid type for argument in function call. Invalid implicit conversion from function () to function () external requested.
// TypeError 9553: (345-348): Invalid type for argument in function call. Invalid implicit conversion from function D.f() to function () external requested.