Closed russellmcc closed 8 years ago
If the functor F
returns an expected<void, E>
, then that overload will return a expected<expected<void, E>
, but it should return an expected<void, E>
.
If you look at the non-void case, this is handled correctly with 3 different overloads.
I have committed a first fix https://github.com/ptal/expected/commit/c144c9b4eba46afedd1197dda2c45f1a6150faad.
I will add some tests later on and fix the bind interface. Only the new added signature is correct.
What about https://github.com/ptal/expected/blob/master/include/boost/expected/expected.hpp#L1773?