diff --git a/test/boost_fusion.cpp b/test/boost_fusion.cpp index 980a2b14..15e6d24c 100644 --- a/test/boost_fusion.cpp +++ b/test/boost_fusion.cpp @@ -140,11 +140,12 @@ BOOST_FUSION_ADAPT_STRUCT( f3 // *3 ) + +// MSVC2015's std::tuple requires default constructor during 'as' process. +// It doesn't support Expression SFINAE yet, then 'as' is fallbacked to 'convert'. +// After MSVC would support Expression SFINAE, remove this guard. #if !defined(_MSC_VER) -// boost::fusion's adaptor uses std::tuple. -// MSVC2015's std::tuple requires default constructor during 'as' process. -// I don't know why... TEST(MSGPACK_BOOST, pack_convert_no_def_con) { std::stringstream ss; diff --git a/test/msgpack_cpp11.cpp b/test/msgpack_cpp11.cpp index b1686a31..b5b8b523 100644 --- a/test/msgpack_cpp11.cpp +++ b/test/msgpack_cpp11.cpp @@ -456,10 +456,13 @@ TEST(MSGPACK_NO_DEF_CON_PAIR, simple_buffer) EXPECT_EQ(val1, val2); } -#if !defined(_MSC_VER) + // MSVC2015's std::tuple requires default constructor during 'as' process. -// I don't know why... +// It doesn't support Expression SFINAE yet, then 'as' is fallbacked to 'convert'. +// After MSVC would support Expression SFINAE, remove this guard. +#if !defined(_MSC_VER) + TEST(MSGPACK_NO_DEF_CON_TUPLE, simple_buffer) { std::tuple val1 {1, 2, 3};