Attempt to fix the GCC and MSVC build

This commit is contained in:
Denis Blank 2018-03-09 11:36:25 +01:00
parent cb4497ef1d
commit a95246d45c
2 changed files with 6 additions and 4 deletions

View File

@ -56,14 +56,16 @@ struct all_hint_deducer {
template <typename First> template <typename First>
static constexpr auto deduce(hints::signature_hint_tag<First>) { static constexpr auto deduce(hints::signature_hint_tag<First>) {
return std::declval<First>(); return remapping::unpack_lazy(remapping::lazy_value_t<First>{});
} }
template <typename First, typename Second, typename... Args> template <typename First, typename Second, typename... Args>
static constexpr auto static constexpr auto
deduce(hints::signature_hint_tag<First, Second, Args...>) { deduce(hints::signature_hint_tag<First, Second, Args...>) {
return spread_this(std::declval<First>(), std::declval<Second>(), return spread_this(
std::declval<Args>()...); remapping::unpack_lazy(remapping::lazy_value_t<First>{}),
remapping::unpack_lazy(remapping::lazy_value_t<Second>{}),
remapping::unpack_lazy(remapping::lazy_value_t<Args>{})...);
} }
template < template <

View File

@ -549,7 +549,7 @@ TEST(test_strategic_container_traverse, traverse_move_only_wrapped) {
std::size_t counter = 0; std::size_t counter = 0;
traverse_pack( traverse_pack(
[&counter](auto&& ptr) { [&counter](auto&& ptr) {
std::unique_ptr<int> moved(std::forward<decltype(ptr)>(ptr)); auto moved(std::forward<decltype(ptr)>(ptr));
EXPECT_EQ((*moved), 5); EXPECT_EQ((*moved), 5);
++counter; ++counter;
}, },