Split fallback function and introduce "fallback()" and "receive()" syntax.

This commit is contained in:
Daniel Kirchner
2019-11-04 17:17:58 +01:00
parent 3d625cc239
commit 3321fc56ea
137 changed files with 1340 additions and 386 deletions
@@ -0,0 +1,8 @@
contract C {
receive() external payable {}
}
contract D is C {
fallback() override external {}
}
// ----
// TypeError: (76-84): Function has override specified but does not override anything.
@@ -0,0 +1,6 @@
contract C {
fallback() external {}
}
contract D is C {
fallback() override external {}
}
@@ -0,0 +1,8 @@
contract C {
fallback() external {}
}
contract D is C {
}
contract E is D {
fallback() override external {}
}
@@ -0,0 +1,8 @@
contract C {
fallback() external {}
}
contract D is C {
fallback() external {}
}
// ----
// TypeError: (58-80): Overriding function is missing 'override' specifier.
@@ -0,0 +1,10 @@
contract C {
fallback() external {}
}
contract D is C {
}
contract E is D {
fallback() external {}
}
// ----
// TypeError: (78-100): Overriding function is missing 'override' specifier.
@@ -0,0 +1,8 @@
contract C {
fallback() external {}
}
contract D is C {
receive() override external payable {}
}
// ----
// TypeError: (68-76): Function has override specified but does not override anything.
@@ -0,0 +1,6 @@
contract C {
receive() external payable {}
}
contract D is C {
receive() override external payable {}
}
@@ -0,0 +1,8 @@
contract C {
receive() external payable {}
}
contract D is C {
}
contract E is D {
receive() override external payable {}
}
@@ -0,0 +1,8 @@
contract C {
receive() external payable {}
}
contract D is C {
receive() external payable {}
}
// ----
// TypeError: (65-94): Overriding function is missing 'override' specifier.
@@ -0,0 +1,10 @@
contract C {
receive() external payable {}
}
contract D is C {
}
contract E is D {
receive() external payable {}
}
// ----
// TypeError: (85-114): Overriding function is missing 'override' specifier.