diff --git a/single_include/flux.hpp b/single_include/flux.hpp index 7292d133..7d3b348a 100644 --- a/single_include/flux.hpp +++ b/single_include/flux.hpp @@ -218,9 +218,9 @@ struct assert_fn { constexpr void operator()(bool cond, char const* msg, std::source_location loc = std::source_location::current()) const { - if (cond) [[likely]] { + if (cond) { return; - } else [[unlikely]] { + } else { runtime_error(msg, std::move(loc)); } } @@ -8920,8 +8920,7 @@ struct set_symmetric_difference_adaptor flux::read_at(self.base2_, cur.base2_cursor))) { cur.state_ = cursor_type::first; return; - } - else { + } else { if(std::invoke(self.cmp_, flux::read_at(self.base2_, cur.base2_cursor), flux::read_at(self.base1_, cur.base1_cursor))) { cur.state_ = cursor_type::second; @@ -8988,9 +8987,13 @@ struct set_symmetric_difference_adaptor -> std::common_reference_t { - if (cur.state_ == cursor_type::first || cur.state_ == cursor_type::second_done) - return flux::read_at(self.base1_, cur.base1_cursor); - return flux::read_at(self.base2_, cur.base2_cursor); + using R = std::common_reference_t; + if (cur.state_ == cursor_type::first || cur.state_ == cursor_type::second_done) { + return static_cast(flux::read_at(self.base1_, cur.base1_cursor)); + } else { + return static_cast(flux::read_at(self.base2_, cur.base2_cursor)); + } } template @@ -9006,11 +9009,14 @@ struct set_symmetric_difference_adaptor -> std::common_reference_t { - if (cur.state_ == cursor_type::first || cur.state_ == cursor_type::second_done) - return flux::move_at(self.base1_, cur.base1_cursor); - return flux::move_at(self.base2_, cur.base2_cursor); + using R = std::common_reference_t; + if (cur.state_ == cursor_type::first || cur.state_ == cursor_type::second_done) { + return static_cast(flux::move_at(self.base1_, cur.base1_cursor)); + } else { + return static_cast(flux::move_at(self.base2_, cur.base2_cursor)); + } } - }; };