// PR c++/103480 | |
// { dg-do compile { target c++14 } } | |
// { dg-options "-Wuseless-cast" } | |
template <typename T, int N> | |
struct A { typedef T t[N]; }; | |
template <typename T, int N> | |
struct B { typename A<T, N>::t b; }; | |
struct C { | |
constexpr C (C &&) {} | |
template <int N> | |
static auto bar () | |
{ | |
B<C, N> r; | |
return r; // { dg-bogus "useless cast to type" } | |
} | |
C () = default; | |
}; | |
void | |
foo () | |
{ | |
C::bar<2> (); | |
} |