0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-16 06:51:08 +01:00

ircd:Ⓜ️ Propagate noexcept through closure templates.

This commit is contained in:
Jason Volk 2022-06-25 14:58:50 -07:00
parent 888f99e205
commit c0b011d5c0

View file

@ -36,6 +36,7 @@ ircd::m::query(const event::idx &event_idx,
R ret; R ret;
m::get(event_idx, key, [&ret, &closure] m::get(event_idx, key, [&ret, &closure]
(const string_view &value) (const string_view &value)
noexcept(std::is_nothrow_invocable<F, decltype(value)>())
{ {
ret = closure(value); ret = closure(value);
}); });
@ -72,6 +73,7 @@ ircd::m::query(std::nothrow_t,
const auto assign const auto assign
{ {
[&ret, &closure](const string_view &value) [&ret, &closure](const string_view &value)
noexcept(std::is_nothrow_invocable<F, decltype(value)>())
{ {
ret = closure(value); ret = closure(value);
} }
@ -103,6 +105,7 @@ ircd::m::query(std::nothrow_t,
m::get(std::nothrow, event_idx, key, [&ret, &closure] m::get(std::nothrow, event_idx, key, [&ret, &closure]
(const string_view &value) (const string_view &value)
noexcept(std::is_nothrow_invocable<F, decltype(value)>())
{ {
ret = closure(value); ret = closure(value);
}); });