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
>>>

Reply via email to