diff --git a/include/boost/hana/functional.hpp b/include/boost/hana/functional.hpp index 57f2a073a..71664ffdd 100644 --- a/include/boost/hana/functional.hpp +++ b/include/boost/hana/functional.hpp @@ -13,8 +13,6 @@ Distributed under the Boost Software License, Version 1.0. #include #include -#include - namespace boost { namespace hana { namespace functional_detail { @@ -71,7 +69,7 @@ namespace boost { namespace hana { //! Maybe this should be `arg(n)` instead of `arg`? It's more //! consistent but harder to use since we have to write `arg(int_)(...)` //! instead of `arg(...)`. - template + template BOOST_HANA_CONSTEXPR_LAMBDA auto arg = [](auto ...xs) { static_assert(n > 0, "invalid usage of arg with n == 0"); diff --git a/include/boost/hana/integral.hpp b/include/boost/hana/integral.hpp index 4274e24d5..7c765c565 100644 --- a/include/boost/hana/integral.hpp +++ b/include/boost/hana/integral.hpp @@ -15,7 +15,6 @@ Distributed under the Boost Software License, Version 1.0. #include #include -#include #include @@ -115,10 +114,10 @@ namespace boost { namespace hana { constexpr int to_int(char c) { return static_cast(c) - 48; } - template + template constexpr long long parse(const char (&arr)[N]) { long long number = 0, base = 1; - for (std::size_t i = 0; i < N; ++i) { + for (decltype(N) i = 0; i < N; ++i) { number += to_int(arr[N - 1 - i]) * base; base *= 10; }