From fa6580470547411667b866362941db0b02e25578 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Sat, 7 Sep 2024 15:49:07 -0300 Subject: [PATCH] [clang] Implement CWG2398 provisional TTP matching to class templates (#94981) This extends default argument deduction to cover class templates as well, applying only to partial ordering, adding to the provisional wording introduced in https://github.com/llvm/llvm-project/pull/89807. This solves some ambuguity introduced in P0522 regarding how template template parameters are partially ordered, and should reduce the negative impact of enabling `-frelaxed-template-template-args` by default. Given the following example: ```C++ template struct A; template struct B; template