#include #include "test.hpp" // TODO: Test default construction, and static initialization struct increment { template constexpr std::integral_constant operator()(T) const { return std::integral_constant(); } }; struct not_6 { template constexpr std::integral_constant operator()(T) const { return std::integral_constant(); } }; FIT_TEST_CASE() { static_assert ( std::is_same< std::integral_constant, decltype(fit::repeat_while(not_6())(increment())(std::integral_constant())) >::value, "Error" ); std::integral_constant x = fit::repeat_while(not_6())(increment())(std::integral_constant()); fit::test::unused(x); }