https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114349
--- Comment #5 from Sam James <sjames at gcc dot gnu.org> --- >From my overnight run, just for completeness: ``` struct a {}; template <int> using b = a; template <template <typename> class, typename, typename> using c = a; template <typename g> using d = g; template <class> constexpr int e(b<1>) { return 1; } template <class f> struct o { void operator=(o) noexcept(e<f>(c<d, int, b<1>>{})); }; template <typename, typename, typename> using h = o<int>; template <typename i, typename j, typename k = i> using l = h<i, j, k>; l<int, int> m, n; void p() { m = n; } ```