Skip to content

tr1 tests are misusing initializer_list #1184

Description

initializer_list does not have a constructor that takes a pair of pointers - it is implementation detail.

Occurrences are in tr1 tests. Search for initializer_list and inspect each use.

initializer_list should probably be kept for cases where it is created from an array created by initializer_list, just skip proxy array. Otherwise, should use iterator range constructor:

Some of the occurrences:

char arr[] = {"012"};
STD initializer_list<char> ilist1(&arr[0], &arr[1]);
STD initializer_list<char> ilist2(&arr[1], &arr[3]);
STD initializer_list<char> ilist3(&arr[0], &arr[3]);

const char* data = "abc";
STD initializer_list<char> init(data, data + CSTD strlen(data));

STD seed_seq seq2(STD initializer_list<Uint32>(&arr1[0], &arr1[5]));

CHECK_INT(rng_t::initialization_multiplier, 1812433253);

dist_t dist1(STD initializer_list<double>(vec.data(), vec.data() + vec.size()));

CHECK(par0 == dist_t::param_type(STD initializer_list<double>(vec.data(), vec.data() + vec.size())));

double arr[] = {1.0, 1.1, 1.2, 1.3, 1.4};
dist_t dist3(STD initializer_list<double>(&arr[0], &arr[5]), myfn);

CHECK(dist3.param() == dist_t::param_type(STD initializer_list<double>(&arr[0], &arr[5]), myfn));

double arr[] = {1.0, 1.1, 1.2, 1.3, 1.4};
dist_t dist3(STD initializer_list<double>(&arr[0], &arr[5]), myfn);

CHECK(dist3.param() == dist_t::param_type(STD initializer_list<double>(&arr[0], &arr[5]), myfn));

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    fixedSomething works now, yay!testRelated to test code

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions