view gcc/testsuite/g++.dg/cpp0x/initlist-n3922.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
line wrap: on
line source

// N3922
// { dg-do compile { target c++11 } }

#include <initializer_list>
template <class T, class U> struct same_type;
template <class T> struct same_type<T,T> {};

auto x1 = { 1, 2 }; // decltype(x1) is std::initializer_list<int>
same_type<decltype(x1),std::initializer_list<int>> s1;
auto x4 = { 3 }; // decltype(x4) is std::initializer_list<int>
same_type<decltype(x4),std::initializer_list<int>> s4;
auto x5{ 3 }; // decltype(x5) is int
same_type<decltype(x5),int> s5;
auto x2 = { 1, 2.0 }; // { dg-error "initializer_list" } cannot deduce element type
auto x3{ 1, 2 }; // { dg-error "one element" } not a single element