Skip to content

Commit

Permalink
Update tests after restricting to only state vars
Browse files Browse the repository at this point in the history
  • Loading branch information
matheusaaguiar committed May 10, 2024
1 parent 095beca commit ccaec3a
Show file tree
Hide file tree
Showing 20 changed files with 54 additions and 62 deletions.
Expand Up @@ -2,10 +2,10 @@ library L {
struct Nested { uint y; }
function b(function(Nested calldata) external returns (uint)[] storage) external pure {}
function d(function(Nested storage) external returns (uint)[] storage) external pure {}
function d(function(Nested transient x) external returns (uint)[] storage) external pure {}
function f(function(Nested transient) external returns (uint)[] storage) external pure {}
}

// ----
// Warning 6162: (251-269): Naming function type parameters is deprecated.
// Warning 6162: (251-267): Naming function type parameters is deprecated.
// TypeError 6651: (159-173): Data location must be "memory" or "calldata" for parameter in function, but "storage" was given.
// TypeError 6651: (251-269): Data location must be "memory" or "calldata" for parameter in function, but "transient" was given.
// TypeError 6651: (251-267): Data location must be "memory" or "calldata" for parameter in function, but none was given.
@@ -0,0 +1,5 @@
contract test {
function f(bytes transient) external;
}
// ----
// TypeError 6651: (31-46): Data location must be "memory" or "calldata" for parameter in external function, but none was given.

This file was deleted.

@@ -1,5 +1,5 @@
contract test {
function f(bytes transient x) internal {}
function f(bytes transient) internal {}
}
// ----
// TypeError 6651: (31-48): Data location must be "storage", "memory" or "calldata" for parameter in function, but "transient" was given.
// TypeError 6651: (31-46): Data location must be "storage", "memory" or "calldata" for parameter in function, but none was given.
@@ -1,15 +1,19 @@
library L {
function f(uint[] transient a) private pure returns (uint[] transient x) { }
function g(uint[] transient b) internal pure returns (uint[] transient y) { }
function h(uint[] transient c) public pure returns (uint[] transient w) { }
function i(uint[] transient d) external pure returns (uint[] transient z) { }
function f(uint[] transient) private pure returns (uint[] transient) { }
function g(uint[] transient) internal pure returns (uint[] transient) { }
function h(uint[] transient) public pure returns (uint[] transient) { }
function i(uint[] transient) external pure returns (uint[] transient) { }
}
// ----
// TypeError 6651: (27-45): Data location must be "storage", "memory" or "calldata" for parameter in function, but "transient" was given.
// TypeError 6651: (69-87): Data location must be "storage", "memory" or "calldata" for return parameter in function, but "transient" was given.
// TypeError 6651: (108-126): Data location must be "storage", "memory" or "calldata" for parameter in function, but "transient" was given.
// TypeError 6651: (151-169): Data location must be "storage", "memory" or "calldata" for return parameter in function, but "transient" was given.
// TypeError 6651: (190-208): Data location must be "storage", "memory" or "calldata" for parameter in function, but "transient" was given.
// TypeError 6651: (231-249): Data location must be "storage", "memory" or "calldata" for return parameter in function, but "transient" was given.
// TypeError 6651: (270-288): Data location must be "storage", "memory" or "calldata" for parameter in external function, but "transient" was given.
// TypeError 6651: (313-331): Data location must be "storage", "memory" or "calldata" for return parameter in function, but "transient" was given.
// DeclarationError 2333: (67-83): Identifier already declared.
// DeclarationError 2333: (145-161): Identifier already declared.
// DeclarationError 2333: (221-237): Identifier already declared.
// DeclarationError 2333: (299-315): Identifier already declared.
// TypeError 6651: (27-43): Data location must be "storage", "memory" or "calldata" for parameter in function, but none was given.
// TypeError 6651: (67-83): Data location must be "storage", "memory" or "calldata" for return parameter in function, but none was given.
// TypeError 6651: (104-120): Data location must be "storage", "memory" or "calldata" for parameter in function, but none was given.
// TypeError 6651: (145-161): Data location must be "storage", "memory" or "calldata" for return parameter in function, but none was given.
// TypeError 6651: (182-198): Data location must be "storage", "memory" or "calldata" for parameter in function, but none was given.
// TypeError 6651: (221-237): Data location must be "storage", "memory" or "calldata" for return parameter in function, but none was given.
// TypeError 6651: (258-274): Data location must be "storage", "memory" or "calldata" for parameter in external function, but none was given.
// TypeError 6651: (299-315): Data location must be "storage", "memory" or "calldata" for return parameter in function, but none was given.
@@ -1,5 +1,5 @@
library test {
function f(bytes transient x) external {}
function f(bytes transient) external {}
}
// ----
// TypeError 6651: (30-47): Data location must be "storage", "memory" or "calldata" for parameter in external function, but "transient" was given.
// TypeError 6651: (30-45): Data location must be "storage", "memory" or "calldata" for parameter in external function, but none was given.
@@ -1,5 +1,5 @@
library test {
function f(bytes transient x) internal pure {}
function f(bytes transient) internal pure {}
}
// ----
// TypeError 6651: (30-47): Data location must be "storage", "memory" or "calldata" for parameter in function, but "transient" was given.
// TypeError 6651: (30-45): Data location must be "storage", "memory" or "calldata" for parameter in function, but none was given.
Expand Up @@ -3,4 +3,4 @@ contract C {
}

// ----
// ParserError 3548: (45-54): Location already specified.
// ParserError 2314: (45-54): Expected ',' but got identifier
@@ -1,5 +1,5 @@
contract C {
function f(uint[] transient x) private pure {}
function f(uint[] transient) private pure {}
}
// ----
// TypeError 6651: (28-46): Data location must be "storage", "memory" or "calldata" for parameter in function, but "transient" was given.
// TypeError 6651: (28-44): Data location must be "storage", "memory" or "calldata" for parameter in function, but none was given.
@@ -1,5 +1,5 @@
contract C {
function f() private pure returns (uint[] transient x) {}
function f() private pure returns (uint[] transient) {}
}
// ----
// TypeError 6651: (52-70): Data location must be "storage", "memory" or "calldata" for return parameter in function, but "transient" was given.
// TypeError 6651: (52-68): Data location must be "storage", "memory" or "calldata" for return parameter in function, but none was given.
@@ -1,5 +1,5 @@
contract test {
function f(bytes transient x) public;
function f(bytes transient) public;
}
// ----
// TypeError 6651: (31-48): Data location must be "memory" or "calldata" for parameter in function, but "transient" was given.
// TypeError 6651: (31-46): Data location must be "memory" or "calldata" for parameter in function, but none was given.
@@ -1,5 +1,5 @@
contract C {
function h() public pure returns(uint[] transient x) {}
function h() public pure returns(uint[] transient) {}
}
// ----
// TypeError 6651: (50-68): Data location must be "memory" or "calldata" for return parameter in function, but "transient" was given.
// TypeError 6651: (50-66): Data location must be "memory" or "calldata" for return parameter in function, but none was given.
@@ -1,6 +1,5 @@
contract C {
function (uint transient x) external y;
function (uint transient) external y;
}
// ----
// Warning 6162: (27-43): Naming function type parameters is deprecated.
// TypeError 6651: (27-43): Data location can only be specified for array, struct or mapping types, but "transient" was given.
// Warning 6162: (27-41): Naming function type parameters is deprecated.
Expand Up @@ -4,4 +4,4 @@ contract C {
}
}
// ----
// TypeError 6651: (52-68): Data location can only be specified for array, struct or mapping types, but "transient" was given.
// ParserError 2314: (67-68): Expected ';' but got identifier
Expand Up @@ -5,12 +5,8 @@ contract test {
uint memory a2;
bytes16 memory b2;
uint transient a3;
bytes16 b3;
bytes16 transient b3;
}
}
// ----
// TypeError 6651: (48-63): Data location can only be specified for array, struct or mapping types, but "storage" was given.
// TypeError 6651: (71-89): Data location can only be specified for array, struct or mapping types, but "storage" was given.
// TypeError 6651: (97-111): Data location can only be specified for array, struct or mapping types, but "memory" was given.
// TypeError 6651: (119-136): Data location can only be specified for array, struct or mapping types, but "memory" was given.
// TypeError 6651: (144-161): Data location can only be specified for array, struct or mapping types, but "transient" was given.
// ParserError 2314: (159-161): Expected ';' but got identifier
Expand Up @@ -11,4 +11,4 @@ contract test {
}
}
// ----
// UnimplementedFeatureError: Transient data location is only supported for value types.
// ParserError 2314: (148-149): Expected ';' but got identifier
@@ -1,9 +1,8 @@
contract C {
function (uint transient x) external y;
function (uint[] transient w) external z;
function (uint transient) external y;
function (uint[] transient) external z;
}
// ----
// Warning 6162: (27-43): Naming function type parameters is deprecated.
// Warning 6162: (71-89): Naming function type parameters is deprecated.
// TypeError 6651: (27-43): Data location can only be specified for array, struct or mapping types, but "transient" was given.
// TypeError 6651: (71-89): Data location must be "memory" or "calldata" for parameter in function, but "transient" was given.
// Warning 6162: (27-41): Naming function type parameters is deprecated.
// Warning 6162: (69-85): Naming function type parameters is deprecated.
// TypeError 6651: (69-85): Data location must be "memory" or "calldata" for parameter in function, but none was given.
Expand Up @@ -2,5 +2,4 @@ contract C {
function (uint transient x) external transient y;
}
// ----
// Warning 6162: (27-43): Naming function type parameters is deprecated.
// TypeError 6651: (27-43): Data location can only be specified for array, struct or mapping types, but "transient" was given.
// ParserError 2314: (42-43): Expected ',' but got identifier
Expand Up @@ -25,9 +25,4 @@ contract A {
// ParserError 3548: (350-357): Location already specified.
// ParserError 3548: (402-408): Location already specified.
// ParserError 3548: (453-461): Location already specified.
// ParserError 3548: (507-514): Location already specified.
// ParserError 3548: (560-566): Location already specified.
// ParserError 3548: (612-620): Location already specified.
// ParserError 3548: (664-673): Location already specified.
// ParserError 3548: (716-725): Location already specified.
// ParserError 3548: (770-779): Location already specified.
// ParserError 2314: (507-514): Expected ',' but got 'storage'
@@ -1,5 +1,5 @@
contract A {
modifier mod2(uint[] transient b) { _; }
modifier mod2(uint[] transient) { _; }
}
// ----
// TypeError 6651: (31-49): Data location must be "storage", "memory" or "calldata" for parameter in function, but "transient" was given.
// TypeError 6651: (31-47): Data location must be "storage", "memory" or "calldata" for parameter in function, but none was given.

0 comments on commit ccaec3a

Please sign in to comment.