At least in clang, we appear to fail that static assert even with another
branch taken. Instead, assert that one of the other conditions is true.
Signed-off-by: Samuel Just <sjust@redhat.com>
std::forward<decltype(args)>(args)...);
} else {
static_assert(
- _impl::always_false<FuncHead>::value, "composition is not exhaustive");
+ std::is_invocable_v<FuncHead, decltype(args)...> ||
+ (sizeof...(FuncTail) > 0),
+ "composition is not exhaustive");
}
};
}