Updates interface constructor and function type test.

This commit is contained in:
Erik Kundt 2018-07-06 19:42:44 +02:00
parent 3f53db402f
commit 19f6b5ad05
3 changed files with 18 additions and 15 deletions

View File

@ -1,7 +1,7 @@
interface I {
constructor() external;
constructor() public;
}
// ----
// TypeError: (15-38): Constructor must be public or internal.
// TypeError: (15-38): Constructor cannot be defined in interfaces.
// TypeError: (15-38): Constructor must be implemented if declared.
// Warning: (15-36): Functions in interfaces should be declared external.
// TypeError: (15-36): Constructor cannot be defined in interfaces.
// TypeError: (15-36): Constructor must be implemented if declared.

View File

@ -1,8 +1,8 @@
interface I {
function I() external;
function I() public;
}
// ----
// Warning: (15-37): Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
// TypeError: (15-37): Constructor must be public or internal.
// TypeError: (15-37): Constructor cannot be defined in interfaces.
// TypeError: (15-37): Constructor must be implemented if declared.
// Warning: (15-35): Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
// Warning: (15-35): Functions in interfaces should be declared external.
// TypeError: (15-35): Constructor cannot be defined in interfaces.
// TypeError: (15-35): Constructor must be implemented if declared.

View File

@ -13,11 +13,14 @@ contract test {
function(uint) internal internal c = fc;
function(uint) external d = this.fd;
function(uint) external internal e = this.fe;
function(uint) internal public f = ff;
function(uint) internal pure public g = fg;
function(uint) pure internal public h = fh;
function(uint) internal f = ff;
function(uint) internal pure g = fg;
function(uint) pure internal h = fh;
}
// ----
// TypeError: (552-589): Internal or recursive type is not allowed for public state variables.
// TypeError: (595-637): Internal or recursive type is not allowed for public state variables.
// TypeError: (643-685): Internal or recursive type is not allowed for public state variables.
// Warning: (20-47): Function state mutability can be restricted to pure
// Warning: (52-81): Function state mutability can be restricted to pure
// Warning: (86-115): Function state mutability can be restricted to pure
// Warning: (120-149): Function state mutability can be restricted to pure
// Warning: (154-183): Function state mutability can be restricted to pure
// Warning: (188-217): Function state mutability can be restricted to pure