summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2015-06-25 13:36:45 +0100
committerMaxime Coste <frrrwww@gmail.com>2015-06-25 13:36:45 +0100
commitd207d13b68a2785cf3829b4b19ad3f2bc4fbb358 (patch)
tree0f8aa1dd500d1321fb36497ad5bb5e4babaf4a6f /src
parentcc09c36fe0f6c52ea0dfde0e095118ffa7235a50 (diff)
Avoid unneeded default constructor call in Optional
Diffstat (limited to 'src')
-rw-r--r--src/optional.hh6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/optional.hh b/src/optional.hh
index 67b2352a..cdc7d100 100644
--- a/src/optional.hh
+++ b/src/optional.hh
@@ -80,7 +80,11 @@ public:
private:
void destruct_ifn() { if (m_valid) m_value.~T(); }
- union { T m_value; };
+ union
+ {
+ struct {} m_empty; // disable default construction of value
+ T m_value;
+ };
bool m_valid;
};