diff options
author | chriseth <chris@ethereum.org> | 2018-11-28 19:18:32 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2018-11-28 21:11:51 +0800 |
commit | c54814b47bbc77e6754218ab1bdd479e87711b55 (patch) | |
tree | ab912ef97d51fcd1932cbdd7869f39f3d7e90dd7 | |
parent | 46f3da0b87f1244deb0ac3e3f964c53eb88e4a25 (diff) | |
download | dexon-solidity-c54814b47bbc77e6754218ab1bdd479e87711b55.tar dexon-solidity-c54814b47bbc77e6754218ab1bdd479e87711b55.tar.gz dexon-solidity-c54814b47bbc77e6754218ab1bdd479e87711b55.tar.bz2 dexon-solidity-c54814b47bbc77e6754218ab1bdd479e87711b55.tar.lz dexon-solidity-c54814b47bbc77e6754218ab1bdd479e87711b55.tar.xz dexon-solidity-c54814b47bbc77e6754218ab1bdd479e87711b55.tar.zst dexon-solidity-c54814b47bbc77e6754218ab1bdd479e87711b55.zip |
Tests.
4 files changed, 32 insertions, 0 deletions
diff --git a/test/libsolidity/syntaxTests/getter/complex_struct.sol b/test/libsolidity/syntaxTests/getter/complex_struct.sol new file mode 100644 index 00000000..3fa8111c --- /dev/null +++ b/test/libsolidity/syntaxTests/getter/complex_struct.sol @@ -0,0 +1,7 @@ +contract C { + struct Y { + uint a; + uint b; + } + mapping(uint256 => Y) public m; +} diff --git a/test/libsolidity/syntaxTests/getter/nested_structs.sol b/test/libsolidity/syntaxTests/getter/nested_structs.sol new file mode 100644 index 00000000..1068f287 --- /dev/null +++ b/test/libsolidity/syntaxTests/getter/nested_structs.sol @@ -0,0 +1,11 @@ +contract C { + struct Y { + uint b; + } + struct X { + Y a; + } + mapping(uint256 => X) public m; +} +// ---- +// TypeError: (88-118): The following types are only supported for getters in the new experimental ABI encoder: struct C.Y memory. Either remove "public" or use "pragma experimental ABIEncoderV2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/getter/recursive_struct.sol b/test/libsolidity/syntaxTests/getter/recursive_struct.sol new file mode 100644 index 00000000..d81cac60 --- /dev/null +++ b/test/libsolidity/syntaxTests/getter/recursive_struct.sol @@ -0,0 +1,8 @@ +contract C { + struct Y { + Y[] x; + } + mapping(uint256 => Y) public m; +} +// ---- +// TypeError: (53-83): Internal or recursive type is not allowed for public state variables. diff --git a/test/libsolidity/syntaxTests/getter/simple_struct.sol b/test/libsolidity/syntaxTests/getter/simple_struct.sol new file mode 100644 index 00000000..c7a23ae9 --- /dev/null +++ b/test/libsolidity/syntaxTests/getter/simple_struct.sol @@ -0,0 +1,6 @@ +contract C { + struct Y { + uint b; + } + mapping(uint256 => Y) public m; +} |