Skip to content

Commit 9f6f00f

Browse files
authored
fix final action (moved optional was not reset) (#244)
Signed-off-by: turuslan <[email protected]>
1 parent f27f9fb commit 9f6f00f

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

include/libp2p/common/final_action.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,10 @@ namespace libp2p::common {
4343
template <typename F>
4444
struct MovableFinalAction {
4545
MovableFinalAction() = delete;
46-
MovableFinalAction(MovableFinalAction &&func) = default;
46+
MovableFinalAction(MovableFinalAction &&func)
47+
: func{std::exchange(func.func, {})} {}
4748
MovableFinalAction(const MovableFinalAction &func) = delete;
48-
MovableFinalAction &operator=(MovableFinalAction &&func) = default;
49+
MovableFinalAction &operator=(MovableFinalAction &&func) = delete;
4950
MovableFinalAction &operator=(const MovableFinalAction &func) = delete;
5051

5152
MovableFinalAction(F &&func) : func(std::forward<F>(func)) {}

0 commit comments

Comments
 (0)