Backported to VS2013 using a metaprogrammed emulation of unrestricted unions. Works surprisingly well considering.

```
git diff
diff --git a/include/boost/expected/error_exception.hpp b/include/boost/expected/error_exception.hpp
index 7352fce..987d977 100644
--- a/include/boost/expected/error_exception.hpp
+++ b/include/boost/expected/error_exception.hpp
@@ -16,6 +16,8 @@ struct error_exception {
     typedef Exception exception_type;
     error_exception() : value_(){}
     error_exception(Error e) : value_(e){}
+    error_exception& operator=(error_exception const&e) = default;
+    error_exception& operator=(Error e) { value_= e; return *this;}
     operator Error() const { return value_; }
     Error value() const { return value_; }
 private:
```