diff options
author | chriseth <chris@ethereum.org> | 2018-08-07 22:11:59 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-07 22:11:59 +0800 |
commit | c61cc98d0da59155edc72a947dd8867b69cba20e (patch) | |
tree | 5adfca55bb9dccadba4efa9e1dbf9ab4e94e7f73 | |
parent | a765b5b31cb2c06a0f04204bd6d22a4238625d19 (diff) | |
parent | 133fd3d302595db327115e63e0292ff44d6dfd80 (diff) | |
download | dexon-solidity-c61cc98d0da59155edc72a947dd8867b69cba20e.tar dexon-solidity-c61cc98d0da59155edc72a947dd8867b69cba20e.tar.gz dexon-solidity-c61cc98d0da59155edc72a947dd8867b69cba20e.tar.bz2 dexon-solidity-c61cc98d0da59155edc72a947dd8867b69cba20e.tar.lz dexon-solidity-c61cc98d0da59155edc72a947dd8867b69cba20e.tar.xz dexon-solidity-c61cc98d0da59155edc72a947dd8867b69cba20e.tar.zst dexon-solidity-c61cc98d0da59155edc72a947dd8867b69cba20e.zip |
Merge pull request #4726 from ethereum/moveNothrow
Make MemberList nothrow move constructible.
-rw-r--r-- | libsolidity/ast/Types.cpp | 9 | ||||
-rw-r--r-- | libsolidity/ast/Types.h | 4 |
2 files changed, 2 insertions, 11 deletions
diff --git a/libsolidity/ast/Types.cpp b/libsolidity/ast/Types.cpp index eff31b8d..3eccc6d4 100644 --- a/libsolidity/ast/Types.cpp +++ b/libsolidity/ast/Types.cpp @@ -169,15 +169,6 @@ pair<u256, unsigned> const* StorageOffsets::offset(size_t _index) const return nullptr; } -MemberList& MemberList::operator=(MemberList&& _other) -{ - solAssert(&_other != this, ""); - - m_memberTypes = move(_other.m_memberTypes); - m_storageOffsets = move(_other.m_storageOffsets); - return *this; -} - void MemberList::combine(MemberList const & _other) { m_memberTypes += _other.m_memberTypes; diff --git a/libsolidity/ast/Types.h b/libsolidity/ast/Types.h index 89b8f170..09323d05 100644 --- a/libsolidity/ast/Types.h +++ b/libsolidity/ast/Types.h @@ -95,9 +95,7 @@ public: using MemberMap = std::vector<Member>; - MemberList() {} explicit MemberList(MemberMap const& _members): m_memberTypes(_members) {} - MemberList& operator=(MemberList&& _other); void combine(MemberList const& _other); TypePointer memberType(std::string const& _name) const { @@ -132,6 +130,8 @@ private: mutable std::unique_ptr<StorageOffsets> m_storageOffsets; }; +static_assert(std::is_nothrow_move_constructible<MemberList>::value, "MemberList should be noexcept move constructible"); + /** * Abstract base class that forms the root of the type hierarchy. */ |