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>
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>
static constexpr auto
deduce(hints::signature_hint_tag<First, Second, Args...>) {
return spread_this(std::declval<First>(), std::declval<Second>(),
std::declval<Args>()...);
return spread_this(
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 <

View File

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