message: Better use explicit template instantiation here
diff: @@ -136,15 +136,15 @@ static void test_cmp()
  // float
  {
  - F a(first_of({
  + F a(first_of<float>({
  1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f,
  9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f
  }));
  - F b(first_of({
  + F b(first_of<float>({
  17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f,
  25.0f, 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f
  }));
  - F c(first_of({
  + F c(first_of<float>({
  1.0f, 0.0f, 3.0f, 0.0f, 5.0f, 0.0f, 7.0f, 0.0f,
  9.0f, 0.0f, 11.0f, 0.0f, 13.0f, 0.0f, 15.0f, 0.0f
  }));
  @@ -183,9 +183,9 @@ static void test_cmp()
  // int
  {
  - I a(first_of({ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}));
  - I b(first_of({17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}));
  - I c(first_of({ 1, 0, 3, 0, 5, 0, 7, 0, 9, 0, 11, 0, 13, 0, 15, 0}));
  + I a(first_of<int>({ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}));
  + I b(first_of<int>({17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}));
  + I c(first_of<int>({ 1, 0, 3, 0, 5, 0, 7, 0, 9, 0, 11, 0, 13, 0, 15, 0}));
  I x(std::numeric_limits<int>::max());
  I y(std::numeric_limits<int>::min());
  