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