To quickly reproduce: https://gcc.godbolt.org/z/Y9r3sYhYc (assertion-trunk)
#include <variant>
using namespace std;
struct test: variant <int> {
using test::variant; // using refers to its own class, removing this line leads to correct compilation.
void mutated_v1(variant <int> v);
};
int main() {}
Compiling the above code crashes clang clang++ -x c++ -std=c++20, crashes locally using clang-17.0 (a10019a), also on trunk with assertion (see godbolt link)
Note --std=c++17 does not crash.