diff --git a/include/gsl/util b/include/gsl/util index 757be6a..9bfcfc1 100644 --- a/include/gsl/util +++ b/include/gsl/util @@ -53,11 +53,11 @@ class final_action { public: template - explicit final_action(FF&& ff) : f{std::forward(ff)} { } + explicit final_action(FF&& ff) noexcept : f{std::forward(ff)} { } - ~final_action() { if (invoke) f(); } + ~final_action() noexcept { if (invoke) f(); } - final_action(final_action&& other) + final_action(final_action&& other) noexcept : f(std::move(other.f)), invoke(std::exchange(other.invoke, false)) { }