From ff3f41deb04c03ba57658776e4e0dc26ef01187d Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Wed, 22 May 2024 15:59:55 -0300 Subject: [PATCH] [clang] Implement CWG2398 provisional TTP matching to class templates (#92855) 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. When performing template argument deduction, we extend the provisional wording introduced in https://github.com/llvm/llvm-project/pull/89807 so it also covers deduction of class templates. Given the following example: ```C++ template struct A; template struct B; template