| Index: compiled/StringMap.h | 
| =================================================================== | 
| --- a/compiled/StringMap.h | 
| +++ b/compiled/StringMap.h | 
| @@ -48,16 +48,20 @@ | 
| struct StringSetEntry | 
| { | 
| typedef Key key_type; | 
| typedef const String& key_type_cref; | 
| typedef size_t size_type; | 
|  | 
| key_type first; | 
|  | 
| +    StringSetEntry& operator=(const StringSetEntry&) = default; | 
| +    StringSetEntry& operator=(StringSetEntry&&) = default; | 
| + | 
| +    StringSetEntry(const StringSetEntry&) = default; | 
| StringSetEntry(key_type_cref key = key_type()) | 
| { | 
| if (!key.is_invalid()) | 
| first.reset(key); | 
| } | 
|  | 
| bool equals(key_type_cref other) const | 
| { | 
| @@ -88,19 +92,22 @@ | 
| template<typename Key, typename Value> | 
| struct StringMapEntry : StringSetEntry<Key> | 
| { | 
| typedef StringSetEntry<Key> super; | 
| typedef Value value_type; | 
|  | 
| value_type second; | 
|  | 
| +    StringMapEntry& operator=(const StringMapEntry&) = default; | 
| +    StringMapEntry& operator=(StringMapEntry&&) = default; | 
| + | 
| StringMapEntry(typename super::key_type_cref key = Key(), | 
| value_type value = value_type()) | 
| -        : super(key), second(value) | 
| +       : super(key), second(std::move(value)) | 
| { | 
| } | 
|  | 
| void erase() | 
| { | 
| super::erase(); | 
| second = value_type(); | 
| } | 
|  |