https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93152
--- Comment #4 from DB <db0451 at gmail dot com> --- Simplifying further, by getting rid of the Other structs/arguments, we get: ``` #include <concepts> #include <type_traits> struct WeirdBase {}; struct WeirdSub: WeirdBase {}; template <typename Foo, std::derived_from<WeirdBase> WeirdSub1> auto make_lambda() { return [](std::derived_from<WeirdSub1> auto&&){}; } auto main() -> int { auto const lambda = make_lambda<int, WeirdSub>(); lambda( WeirdSub{} ); return 0; } ``` ...which again gives... >>> test3.cpp: In function ‘int main()’: test3.cpp:18:21: internal compiler error: Segmentation fault 18 | lambda( WeirdSub{} ); | ^ 0xbecf3f crash_signal ../../src/gcc/toplev.c:328 0x7efcb8d0c0ff ??? /build/glibc-dEjGnz/glibc-2.29/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0 0x703e96 tsubst(tree_node*, tree_node*, int, tree_node*) ../../src/gcc/cp/pt.c:15083 0x707ac6 tsubst_template_args(tree_node*, tree_node*, int, tree_node*) ../../src/gcc/cp/pt.c:13099 0x625fa5 normalize_concept_check ../../src/gcc/cp/constraint.cc:685 0x625fa5 normalize_atom ../../src/gcc/cp/constraint.cc:719 0x625fa5 normalize_expression ../../src/gcc/cp/constraint.cc:748 0x6263da get_normalized_constraints ../../src/gcc/cp/constraint.cc:760 0x6263da get_normalized_constraints_from_info ../../src/gcc/cp/constraint.cc:778 0x629dfd get_normalized_constraints_from_decl ../../src/gcc/cp/constraint.cc:841 0x62a23a satisfy_declaration_constraints ../../src/gcc/cp/constraint.cc:880 0x62a578 constraint_satisfaction_value ../../src/gcc/cp/constraint.cc:2709 0x62a578 constraints_satisfied_p(tree_node*) ../../src/gcc/cp/constraint.cc:2730 0x5f7f11 add_function_candidate ../../src/gcc/cp/call.c:2280 0x5fa28d add_template_candidate_real ../../src/gcc/cp/call.c:3438 0x5fa7c4 add_template_candidate ../../src/gcc/cp/call.c:3479 0x5fa7c4 add_candidates ../../src/gcc/cp/call.c:5805 0x5ff654 add_candidates ../../src/gcc/cp/call.c:5720 0x5ff654 build_op_call_1 ../../src/gcc/cp/call.c:4768 0x5ff654 build_op_call(tree_node*, vec<tree_node*, va_gc, vl_embed>**, int) ../../src/gcc/cp/call.c:4864 >>>