Fix implicit conversion warnings in tuple_test.

Fixes #2329.
This commit is contained in:
Antonio Sanchez 2021-09-17 19:40:22 -07:00
parent 5595cfd194
commit f49217e52b

View File

@ -47,24 +47,24 @@ void basic_tuple_test() {
VERIFY_IS_EQUAL(tuple_impl::get<2>(tuple3), 13.0);
// tuple_impl::tuple_size.
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple0)>::value, 0);
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple1)>::value, 1);
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple2)>::value, 2);
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple3)>::value, 3);
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple0)>::value, size_t(0));
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple1)>::value, size_t(1));
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple2)>::value, size_t(2));
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple3)>::value, size_t(3));
// tuple_impl::tuple_cat.
auto tuple2cat3 = tuple_impl::tuple_cat(tuple2, tuple3);
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple2cat3)>::value, 5);
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple2cat3)>::value, size_t(5));
VERIFY_IS_EQUAL(tuple_impl::get<1>(tuple2cat3), 5.0f);
VERIFY_IS_EQUAL(tuple_impl::get<3>(tuple2cat3), 11.0f);
auto tuple3cat0 = tuple_impl::tuple_cat(tuple3, tuple0);
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple3cat0)>::value, 3);
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple3cat0)>::value, size_t(3));
auto singlecat = tuple_impl::tuple_cat(tuple3);
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(singlecat)>::value, 3);
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(singlecat)>::value, size_t(3));
auto emptycat = tuple_impl::tuple_cat();
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(emptycat)>::value, 0);
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(emptycat)>::value, size_t(0));
auto tuple0cat1cat2cat3 = tuple_impl::tuple_cat(tuple0, tuple1, tuple2, tuple3);
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple0cat1cat2cat3)>::value, 6);
VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple0cat1cat2cat3)>::value, size_t(6));
// make_tuple.
// The tuple types should uses values for the second and fourth parameters.
@ -86,10 +86,10 @@ void basic_tuple_test() {
decltype(tuple1)&,
decltype(tuple2)&,
decltype(tuple3)&> >::value) );
VERIFY_IS_EQUAL( (tuple_impl::get<1>(tuple_impl::get<2>(tuple_tie))), 5.0 );
VERIFY_IS_EQUAL( (tuple_impl::get<1>(tuple_impl::get<2>(tuple_tie))), 5.0f );
// Modify value and ensure tuple2 is updated.
tuple_impl::get<1>(tuple_impl::get<2>(tuple_tie)) = 10.0;
VERIFY_IS_EQUAL( (tuple_impl::get<1>(tuple2)), 10.0 );
tuple_impl::get<1>(tuple_impl::get<2>(tuple_tie)) = 10.0f;
VERIFY_IS_EQUAL( (tuple_impl::get<1>(tuple2)), 10.0f );
// Assignment.
int x = -1;