https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113349
--- Comment #7 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Better test:
```
// PR c++/113349
template <typename> void foo() { }
template <long, typename _Tp> using tuple_element_t = _Tp;
template <typename, typename = void> struct types;
template <typename T> struct types<T, decltype([] {}())> {
template <long N> using el = tuple_element_t<N, decltype([] {})>;
};
void
g ()
{
foo<types<int>::el<1>>();
}
```
