Update tests for new public var override rules

This commit is contained in:
Mathias Baumann 2020-07-20 14:45:49 +02:00
parent c8772a54c3
commit 446d15488c
13 changed files with 24 additions and 23 deletions

View File

@ -1,5 +1,5 @@
contract I {
function f() external pure virtual returns (uint) { return 1; }
function f() external view virtual returns (uint) { return 1; }
}
contract A is I
{
@ -11,3 +11,4 @@ contract C is A, B
{
uint public override f;
}
// ----

View File

@ -1,5 +1,5 @@
contract I {
function f() external pure virtual returns (uint) { return 1; }
function f() external view virtual returns (uint) { return 1; }
}
contract A is I
{

View File

@ -1,5 +1,5 @@
contract I {
function f() external pure virtual returns (uint) { return 1; }
function f() external view virtual returns (uint) { return 1; }
}
contract A is I
{

View File

@ -5,4 +5,4 @@ contract X is C {
uint public immutable override foo = 7;
}
// ----
// TypeError 6959: (100-124): Overriding public state variable changes state mutability from "pure" to "view".
// TypeError 6959: (100-138): Overriding public state variable changes state mutability from "pure" to "view".

View File

@ -1,5 +1,5 @@
contract A {
function foo() internal virtual pure returns(uint) { return 5; }
function foo() internal virtual view returns(uint) { return 5; }
}
contract X is A {
uint public foo;

View File

@ -1,8 +1,8 @@
contract A {
function foo() external virtual pure returns(uint) { return 5; }
function foo() external virtual view returns(uint) { return 5; }
}
contract B {
function foo() external virtual pure returns(uint) { return 5; }
function foo() external virtual view returns(uint) { return 5; }
}
contract X is A, B {
uint public override foo;

View File

@ -2,7 +2,7 @@ contract A {
uint public foo;
}
contract B {
function foo() external virtual pure returns(uint) { return 5; }
function foo() external virtual view returns(uint) { return 5; }
}
contract X is A, B {
uint public override foo;

View File

@ -1,7 +1,7 @@
contract A {
function foo() external virtual pure returns(uint) { return 4; }
function foo(uint ) external virtual pure returns(uint) { return 4; }
function foo(uint , uint ) external pure virtual returns(A) { }
function foo() external virtual view returns(uint) { return 4; }
function foo(uint ) external virtual view returns(uint) { return 4; }
function foo(uint , uint ) external view virtual returns(A) { }
}
contract X is A {
uint public override foo;

View File

@ -1,7 +1,7 @@
contract A {
function foo() external virtual pure returns(A) { }
function foo(uint ) external virtual pure returns(uint) { return 4; }
function foo(uint , uint ) external pure virtual returns(A) { }
function foo() external virtual view returns(A) { }
function foo(uint ) external virtual view returns(uint) { return 4; }
function foo(uint , uint ) external view virtual returns(A) { }
}
contract X is A {
uint public override foo;

View File

@ -1,11 +1,11 @@
contract A {
function foo() external virtual pure returns(uint) { return 5; }
function foo() external virtual view returns(uint) { return 5; }
}
contract B is A {
function foo() external virtual override pure returns(uint) { return 5; }
function foo() external virtual override view returns(uint) { return 5; }
}
contract C is A {
function foo() external virtual override pure returns(uint) { return 5; }
function foo() external virtual override view returns(uint) { return 5; }
}
contract X is B, C {
uint public override foo;

View File

@ -1,11 +1,11 @@
contract A {
function foo() external virtual pure returns(uint) { return 5; }
function foo() external virtual view returns(uint) { return 5; }
}
contract B is A {
uint public override foo;
}
contract C is A {
function foo() external virtual override pure returns(uint) { return 5; }
function foo() external virtual override view returns(uint) { return 5; }
}
contract X is B, C {
uint public override foo;

View File

@ -1,11 +1,11 @@
contract A {
function foo() external virtual pure returns(uint) { return 5; }
function foo() external virtual view returns(uint) { return 5; }
}
contract B is A {
uint public override foo;
}
contract C is A {
function foo() external virtual override pure returns(uint) { return 5; }
function foo() external virtual override view returns(uint) { return 5; }
}
contract X is B, C {
uint public override(A, C) foo;

View File

@ -1,8 +1,8 @@
contract A {
function foo() external virtual pure returns(uint) { return 5; }
function foo() external virtual view returns(uint) { return 5; }
}
contract B {
function foo() external virtual pure returns(uint) { return 5; }
function foo() external virtual view returns(uint) { return 5; }
}
contract X is A, B {
uint public override(A, B) foo;