https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113349
--- Comment #8 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
A bit more cleaned up (one less decltype):
```
// PR c++/113349
template<typename>
struct S { };
template<typename, typename = void>
struct X;
template<typename T>
struct X<T, decltype([] {}())> {
template<int N> using type = int;
};
S<X<int>::type<1>> s;
```
