[clang] [clang] Enable C++17 relaxed template template argument matching by default (PR #89807)

Sam McCall via cfe-commits cfe-commits at lists.llvm.org
Wed May 8 02:57:21 PDT 2024


sam-mccall wrote:

This patch introduced a crash on code that clang previously accepted (I'm not sure whether the code is correct).

The code is https://github.com/nvidia/stdexec/tree/467f4a68ee04f3bb4c35e7a5dd13a3419da160cb, building `test/stdexec/algos/adaptors/test_stopped_as_optional.cpp` crashes.

<details>
<summary>Errors prior to crash</summary>

```
third_party/stdexec/test/stdexec/algos/adaptors/test_stopped_as_optional.cpp:38:19: error: static assertion failed
   38 |     static_assert(ex::sender_in<decltype(snd), empty_env>);
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
third_party/stdexec/test/stdexec/algos/adaptors/test_stopped_as_optional.cpp:38:19: note: because 'ex::sender_in<decltype(snd), empty_env>' evaluated to false
./third_party/stdexec/include/stdexec/execution.hpp:824:9: note: because 'decltype(__impl<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>()())' (aka 'stdexec::_ERROR_<stdexec::_BAD_SUBSTITUTION_<>, stdexec::_WITH_META_FUNCTION_T_<stdexec::__try_value_types_of_t>, stdexec::_WITH_TYPES_<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env, stdexec::__q<stdexec::__stopped_as_xxx::__stopped_as_optional_impl::__set_value_t>, stdexec::__q<stdexec::__compl_sigs::__ensure_concat>>>') does not satisfy '__valid_completion_signatures':
  824 |         get_completion_signatures((_Sender&&) __sndr, (_Env&&) __env)
      |         ^
./third_party/stdexec/include/stdexec/execution.hpp:273:5: note: because 'stdexec::_ERROR_<stdexec::_BAD_SUBSTITUTION_<>, stdexec::_WITH_META_FUNCTION_T_<stdexec::__try_value_types_of_t>, stdexec::_WITH_TYPES_<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env, stdexec::__q<stdexec::__stopped_as_xxx::__stopped_as_optional_impl::__set_value_t>, stdexec::__q<stdexec::__compl_sigs::__ensure_concat>>>' does not satisfy '__ok'
  273 |     __ok<_Completions> && __is_instance_of<_Completions, completion_signatures>;
      |     ^
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:243:18: note: because '__same_as<__ok_t<_ERROR_<_BAD_SUBSTITUTION_<__mstring<76UL>{"The specified meta-function could not be evaluated with the types provided."}>, _WITH_META_FUNCTION_T_<stdexec::__try_value_types_of_t>, _WITH_TYPES_<__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, empty_env, __q<stdexec::__stopped_as_xxx::__stopped_as_optional_impl::__set_value_t>, __q<stdexec::__compl_sigs::__ensure_concat> > > >, __msuccess>' evaluated to false
  243 |   concept __ok = __same_as<__ok_t<_Arg>, __msuccess>;
      |                  ^
./third_party/stdexec/include/stdexec/__detail/__concepts.hpp:51:23: note: because '__is_same(stdexec::_ERROR_<stdexec::_BAD_SUBSTITUTION_<>, stdexec::_WITH_META_FUNCTION_T_<stdexec::__try_value_types_of_t>, stdexec::_WITH_TYPES_<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env, stdexec::__q<stdexec::__stopped_as_xxx::__stopped_as_optional_impl::__set_value_t>, stdexec::__q<stdexec::__compl_sigs::__ensure_concat> > >, int)' evaluated to false
   51 |   concept __same_as = __is_same(_Ap, _Bp);
      |                       ^
third_party/stdexec/test/stdexec/algos/adaptors/test_stopped_as_optional.cpp:45:15: error: no matching function for call to object of type 'const __connect::connect_t'
   45 |     auto op = ex::connect(std::move(snd), expect_value_receiver{std::optional<int>{}});
      |               ^~~~~~~~~~~
./third_party/stdexec/include/stdexec/execution.hpp:1471:12: note: candidate template ignored: constraints not satisfied [with _Sender = __libcpp_remove_reference_t<__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)> &>, _Receiver = expect_value_receiver<empty_env, optional<int>>]
 1471 |       auto operator()(_Sender&& __sndr, _Receiver&& __rcvr) const
      |            ^
./third_party/stdexec/include/stdexec/execution.hpp:1468:18: note: because '__connectable_with_tag_invoke<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, (anonymous namespace)::expect_value_receiver<stdexec::__env::empty_env, std::optional<int> > >' evaluated to false
 1468 |         requires __connectable_with_tag_invoke<_Sender, _Receiver>
      |                  ^
./third_party/stdexec/include/stdexec/execution.hpp:1415:7: note: because '__connectable_with_tag_invoke_<__tfx_sender<__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, expect_value_receiver<empty_env, optional<int> > >, (anonymous namespace)::expect_value_receiver<stdexec::__env::empty_env, std::optional<int> > >' evaluated to false
 1415 |       __connectable_with_tag_invoke_<__tfx_sender<_Sender, _Receiver>, _Receiver>;
      |       ^
./third_party/stdexec/include/stdexec/execution.hpp:1409:7: note: because 'sender_in<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, env_of_t<expect_value_receiver<empty_env, optional<int> > > >' evaluated to false
 1409 |       sender_in<_Sender, env_of_t<_Receiver>> && //
      |       ^
./third_party/stdexec/include/stdexec/execution.hpp:824:9: note: because 'decltype(__impl<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>()())' (aka '_ERROR_<stdexec::__error__::_UNRECOGNIZED_SENDER_TYPE_<__mstring<134UL>{"The given type cannot be used as a[...]"}>, stdexec::__error__::_WITH_SENDER_<stdexec::__sexpr<stdexec::__stopped_as_xxx::stopped_as_optional_t, stdexec::__, stdexec::__sexpr<stdexec::__transfer_just::transfer_just_t, std::tuple<(anonymous namespace)::stopped_scheduler, int>>>>, stdexec::__error__::_WITH_ENVIRONMENT_<stdexec::__env::empty_env>>') does not satisfy '__valid_completion_signatures':
  824 |         get_completion_signatures((_Sender&&) __sndr, (_Env&&) __env)
      |         ^
./third_party/stdexec/include/stdexec/execution.hpp:273:5: note: because 'stdexec::_ERROR_<stdexec::__error__::_UNRECOGNIZED_SENDER_TYPE_<>, stdexec::__error__::_WITH_SENDER_<stdexec::__sexpr<stdexec::__stopped_as_xxx::stopped_as_optional_t, stdexec::__, stdexec::__sexpr<stdexec::__transfer_just::transfer_just_t, std::tuple<(anonymous namespace)::stopped_scheduler, int>>>>, stdexec::__error__::_WITH_ENVIRONMENT_<stdexec::__env::empty_env>>' does not satisfy '__ok'
  273 |     __ok<_Completions> && __is_instance_of<_Completions, completion_signatures>;
      |     ^
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:243:18: note: because '__same_as<__ok_t<_ERROR_<_UNRECOGNIZED_SENDER_TYPE_<__mstring<134UL>{"The given type cannot be used as a sender with the given environment because the attempt to compute the completion signatures failed."}>, _WITH_SENDER_<__sexpr<stopped_as_optional_t, __, __sexpr<transfer_just_t, tuple<stopped_scheduler, int> > > >, _WITH_ENVIRONMENT_<empty_env> > >, __msuccess>' evaluated to false
  243 |   concept __ok = __same_as<__ok_t<_Arg>, __msuccess>;
      |                  ^
./third_party/stdexec/include/stdexec/__detail/__concepts.hpp:51:23: note: because '__is_same(stdexec::_ERROR_<stdexec::__error__::_UNRECOGNIZED_SENDER_TYPE_<>, stdexec::__error__::_WITH_SENDER_<stdexec::__sexpr<stdexec::__stopped_as_xxx::stopped_as_optional_t, stdexec::__, stdexec::__sexpr<stdexec::__transfer_just::transfer_just_t, std::tuple<(anonymous namespace)::stopped_scheduler, int> > > >, stdexec::__error__::_WITH_ENVIRONMENT_<stdexec::__env::empty_env> >, int)' evaluated to false
   51 |   concept __same_as = __is_same(_Ap, _Bp);
      |                       ^
./third_party/stdexec/include/stdexec/execution.hpp:1469:18: note: and '__connectable_with_co_await<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, (anonymous namespace)::expect_value_receiver<stdexec::__env::empty_env, std::optional<int> > >' evaluated to false
 1469 |               || __connectable_with_co_await<_Sender, _Receiver>
      |                  ^
./third_party/stdexec/include/stdexec/execution.hpp:1419:7: note: because '__callable<__connect_awaitable_t, __tfx_sender<__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, expect_value_receiver<empty_env, optional<int> > >, (anonymous namespace)::expect_value_receiver<stdexec::__env::empty_env, std::optional<int> > >' evaluated to false
 1419 |       __callable<__connect_awaitable_t, __tfx_sender<_Sender, _Receiver>, _Receiver>;
      |       ^
./third_party/stdexec/include/stdexec/__detail/__concepts.hpp:31:7: note: because '((_Fun &&)__fun)((_As &&)__as...)' would be invalid: no matching function for call to object of type 'stdexec::__connect_awaitable_::__connect_awaitable_t'
   31 |       ((_Fun&&) __fun)((_As&&) __as...);    //
      |       ^
./third_party/stdexec/include/stdexec/execution.hpp:1470:18: note: and 'env_of_t<expect_value_receiver<empty_env, optional<int>>>' (aka 'stdexec::__env::empty_env') does not satisfy '__is_debug_env'
 1470 |               || __is_debug_env<env_of_t<_Receiver>>
      |                  ^
./third_party/stdexec/include/stdexec/execution.hpp:382:30: note: because 'tag_invocable<__debug::__is_debug_env_t, stdexec::__env::empty_env>' evaluated to false
  382 |     concept __is_debug_env = tag_invocable<__debug::__is_debug_env_t, _Env>;
      |                              ^
./third_party/stdexec/include/stdexec/functional.hpp:319:49: note: because 'tag_invoke((_Tag &&)__tag, (_Args &&)__args...)' would be invalid: no matching function for call to 'tag_invoke'
  319 |       requires(_Tag __tag, _Args&&... __args) { tag_invoke((_Tag&&) __tag, (_Args&&) __args...); };
      |                                                 ^
In file included from third_party/stdexec/test/stdexec/algos/adaptors/test_stopped_as_optional.cpp:18:
./third_party/stdexec/include/stdexec/execution.hpp:262:18: error: no matching function for call to '__for_all_sigs_'
  262 |         decltype(__compl_sigs::__for_all_sigs_( //
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:301:5: note: in instantiation of template type alias '__for_all_sigs' requested here
  301 |     using __g = _Fn<_Args...>;
      |     ^
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:291:3: note: in instantiation of template type alias '__g' requested here
  291 |   using __meval = typename __i<_Ok<_Args...>>::template __g<_Fn, _Args...>;
      |   ^
./third_party/stdexec/include/stdexec/execution.hpp:268:5: note: in instantiation of template type alias '__meval' requested here
  268 |     using __maybe_for_all_sigs = __meval<__for_all_sigs, _Completions, _TaggedTuple, _Variant>;
      |     ^
./third_party/stdexec/include/stdexec/execution.hpp:884:3: note: in instantiation of template type alias '__maybe_for_all_sigs' requested here
  884 |   using __only_gather_signal = //
      |   ^
./third_party/stdexec/include/stdexec/execution.hpp:891:3: note: in instantiation of template type alias '__only_gather_signal' requested here
  891 |   using __gather_signal = //
      |   ^
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:301:5: note: in instantiation of template type alias '__gather_signal' requested here
  301 |     using __g = _Fn<_Args...>;
      |     ^
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:291:3: note: in instantiation of template type alias '__g' requested here
  291 |   using __meval = typename __i<_Ok<_Args...>>::template __g<_Fn, _Args...>;
      |   ^
./third_party/stdexec/include/stdexec/execution.hpp:898:3: note: in instantiation of template type alias '__meval' requested here
  898 |   using __gather_completions_for = //
      |   ^
./third_party/stdexec/include/stdexec/execution.hpp:3559:5: note: in instantiation of template type alias '__gather_completions_for' requested here
 3559 |     using __result_domain_t = //
      |     ^
./third_party/stdexec/include/stdexec/execution.hpp:3599:27: note: in instantiation of template type alias '__result_domain_t' requested here
 3599 |           using _Domain = __result_domain_t<_Set, _Child, _Fun, _Env, _Sched>;
      |                           ^
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:753:36: note: in instantiation of function template specialization 'stdexec::__let::__mk_transform_sender_fn(const stdexec::__env::empty_env &)::(anonymous class)::operator()<(lambda at third_party/stdexec/test/stdexec/algos/adaptors/test_stopped_as_optional.cpp:66:23), (anonymous namespace)::fallible_just<int>>' requested here
  753 |   using __call_result_t = decltype(__declval<_Fun>()(__declval<_As>()...));
      |                                    ^
./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:597:21: note: in instantiation of template type alias '__call_result_t' requested here
  597 |                  -> __call_result_t<_Fun, _Tag, __minvoke<_Cvref, _Captures>...>
      |                     ^
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:753:36: note: while substituting deduced template arguments into function template 'operator()' [with _Cvref = stdexec::__cp, _Fun = (lambda at ./third_party/stdexec/include/stdexec/execution.hpp:3593:14)]
  753 |   using __call_result_t = decltype(__declval<_Fun>()(__declval<_As>()...));
      |                                    ^
./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:502:10: note: in instantiation of template type alias '__call_result_t' requested here
  502 |       -> __call_result_t<__detail::__impl_of<_Sender>, __copy_cvref_fn<_Sender>, _ApplyFn> {  //
      |          ^
./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:629:76: note: while substituting deduced template arguments into function template 'apply' [with _Sender = stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, _ApplyFn = (lambda at ./third_party/stdexec/include/stdexec/execution.hpp:3593:14)]
  629 |         -> decltype(STDEXEC_CALL_EXPLICIT_THIS_MEMFN(((_Sender&&) __sndr), apply)(
      |                                                                            ^
./third_party/stdexec/include/stdexec/execution.hpp:3678:16: note: while substituting deduced template arguments into function template 'operator()' [with _Sender = stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, _ApplyFn = (lambda at ./third_party/stdexec/include/stdexec/execution.hpp:3593:14)]
 3678 |         return __sexpr_apply((_Sender&&) __sndr, __mk_transform_sender_fn<__let_t<_Set>>(__env));
      |                ^
./third_party/stdexec/include/stdexec/__detail/__domain.hpp:59:15: note: in instantiation of function template specialization 'stdexec::__let::__let_t<stdexec::__receivers::set_error_t>::transform_sender<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
   59 |         __tag.transform_sender((_Sender&&) __sender, __env...);
      |               ^
./third_party/stdexec/include/stdexec/__detail/__domain.hpp:59:9: note: in instantiation of requirement here
   59 |         __tag.transform_sender((_Sender&&) __sender, __env...);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/__detail/__domain.hpp:58:7: note: while substituting template arguments into constraint expression here
   58 |       requires(_DomainOrTag __tag, _Sender&& __sender, const _Env&... __env) {
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   59 |         __tag.transform_sender((_Sender&&) __sender, __env...);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   60 |       };
      |       ~
./third_party/stdexec/include/stdexec/__detail/__domain.hpp:65:10: note: while checking the satisfaction of concept '__has_transform_sender<stdexec::__let::__let_t<stdexec::__receivers::set_error_t>, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
   65 |       && __has_transform_sender<tag_of_t<_Sender>, _Sender, _Env...>;
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/__detail/__domain.hpp:65:10: note: while substituting template arguments into constraint expression here
   65 |       && __has_transform_sender<tag_of_t<_Sender>, _Sender, _Env...>;
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/__detail/__domain.hpp:105:21: note: while checking the satisfaction of concept '__has_default_transform_sender<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
  105 |       if constexpr (__domain::__has_default_transform_sender<_Sender, _Env>) {
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/__detail/__domain.hpp:59:15: note: in instantiation of function template specialization 'stdexec::default_domain::transform_sender<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
   59 |         __tag.transform_sender((_Sender&&) __sender, __env...);
      |               ^
./third_party/stdexec/include/stdexec/__detail/__domain.hpp:59:9: note: in instantiation of requirement here
   59 |         __tag.transform_sender((_Sender&&) __sender, __env...);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/__detail/__domain.hpp:58:7: note: while substituting template arguments into constraint expression here
   58 |       requires(_DomainOrTag __tag, _Sender&& __sender, const _Env&... __env) {
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   59 |         __tag.transform_sender((_Sender&&) __sender, __env...);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   60 |       };
      |       ~
./third_party/stdexec/include/stdexec/execution.hpp:601:23: note: while checking the satisfaction of concept '__has_transform_sender<stdexec::default_domain, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
  601 |         if constexpr (__domain::__has_transform_sender<_Domain, _Sender, _Env...>) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:753:36: note: in instantiation of function template specialization 'stdexec::__domain::__transform_sender_1::operator()<stdexec::default_domain, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
  753 |   using __call_result_t = decltype(__declval<_Fun>()(__declval<_As>()...));
      |                                    ^
./third_party/stdexec/include/stdexec/execution.hpp:617:26: note: in instantiation of template type alias '__call_result_t' requested here
  617 |         using _Sender2 = __call_result_t<__transform_sender_1, _Domain, _Sender, const _Env&...>;
      |                          ^
./third_party/stdexec/include/stdexec/execution.hpp:682:18: note: in instantiation of function template specialization 'stdexec::__domain::__transform_sender::operator()<stdexec::__domain::__transform_sender, stdexec::default_domain, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
  682 |           return __domain::__transform_sender()(__domain2, std::move(__sndr2), __env);
      |                  ^
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:753:36: note: in instantiation of function template specialization 'stdexec::dependent_domain::transform_sender(stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)> &&, const stdexec::__env::empty_env &)::(anonymous class)::operator()<stdexec::__let::__let_t<stdexec::__receivers::set_error_t>, (lambda at third_party/stdexec/test/stdexec/algos/adaptors/test_stopped_as_optional.cpp:66:23), (anonymous namespace)::fallible_just<int>>' requested here
  753 |   using __call_result_t = decltype(__declval<_Fun>()(__declval<_As>()...));
      |                                    ^
./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:597:21: note: in instantiation of template type alias '__call_result_t' requested here
  597 |                  -> __call_result_t<_Fun, _Tag, __minvoke<_Cvref, _Captures>...>
      |                     ^
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:753:36: note: while substituting deduced template arguments into function template 'operator()' [with _Cvref = stdexec::__cp, _Fun = (lambda at ./third_party/stdexec/include/stdexec/execution.hpp:670:7)]
  753 |   using __call_result_t = decltype(__declval<_Fun>()(__declval<_As>()...));
      |                                    ^
./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:502:10: note: in instantiation of template type alias '__call_result_t' requested here
  502 |       -> __call_result_t<__detail::__impl_of<_Sender>, __copy_cvref_fn<_Sender>, _ApplyFn> {  //
      |          ^
./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:629:76: note: while substituting deduced template arguments into function template 'apply' [with _Sender = stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, _ApplyFn = (lambda at ./third_party/stdexec/include/stdexec/execution.hpp:670:7)]
  629 |         -> decltype(STDEXEC_CALL_EXPLICIT_THIS_MEMFN(((_Sender&&) __sndr), apply)(
      |                                                                            ^
./third_party/stdexec/include/stdexec/execution.hpp:668:12: note: while substituting deduced template arguments into function template 'operator()' [with _Sender = stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, _ApplyFn = (lambda at ./third_party/stdexec/include/stdexec/execution.hpp:670:7)]
  668 |     return __sexpr_apply(
      |            ^
./third_party/stdexec/include/stdexec/__detail/__domain.hpp:59:15: note: in instantiation of function template specialization 'stdexec::dependent_domain::transform_sender<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
   59 |         __tag.transform_sender((_Sender&&) __sender, __env...);
      |               ^
./third_party/stdexec/include/stdexec/__detail/__domain.hpp:59:9: note: in instantiation of requirement here
   59 |         __tag.transform_sender((_Sender&&) __sender, __env...);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/__detail/__domain.hpp:58:7: note: while substituting template arguments into constraint expression here
   58 |       requires(_DomainOrTag __tag, _Sender&& __sender, const _Env&... __env) {
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   59 |         __tag.transform_sender((_Sender&&) __sender, __env...);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   60 |       };
      |       ~
./third_party/stdexec/include/stdexec/execution.hpp:601:23: note: while checking the satisfaction of concept '__has_transform_sender<stdexec::dependent_domain, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
  601 |         if constexpr (__domain::__has_transform_sender<_Domain, _Sender, _Env...>) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:753:36: note: in instantiation of function template specialization 'stdexec::__domain::__transform_sender_1::operator()<stdexec::dependent_domain, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
  753 |   using __call_result_t = decltype(__declval<_Fun>()(__declval<_As>()...));
      |                                    ^
./third_party/stdexec/include/stdexec/execution.hpp:617:26: note: in instantiation of template type alias '__call_result_t' requested here
  617 |         using _Sender2 = __call_result_t<__transform_sender_1, _Domain, _Sender, const _Env&...>;
      |                          ^
./third_party/stdexec/include/stdexec/execution.hpp:673:29: note: in instantiation of function template specialization 'stdexec::__domain::__transform_sender::operator()<stdexec::__domain::__transform_sender, stdexec::dependent_domain, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
  673 |           (_Data&&) __data, __domain::__transform_sender()(*this, (_Childs&&) __childs, __env2)...);
      |                             ^
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:753:36: note: in instantiation of function template specialization 'stdexec::dependent_domain::transform_sender(stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)> &&, const stdexec::__env::empty_env &)::(anonymous class)::operator()<stdexec::__stopped_as_xxx::stopped_as_optional_t, stdexec::__, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>>' requested here
  753 |   using __call_result_t = decltype(__declval<_Fun>()(__declval<_As>()...));
      |                                    ^
./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:597:21: note: in instantiation of template type alias '__call_result_t' requested here
  597 |                  -> __call_result_t<_Fun, _Tag, __minvoke<_Cvref, _Captures>...>
      |                     ^
./third_party/stdexec/include/stdexec/__detail/__meta.hpp:753:36: note: while substituting deduced template arguments into function template 'operator()' [with _Cvref = stdexec::__cp, _Fun = (lambda at ./third_party/stdexec/include/stdexec/execution.hpp:670:7)]
  753 |   using __call_result_t = decltype(__declval<_Fun>()(__declval<_As>()...));
      |                                    ^
./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:502:10: note: in instantiation of template type alias '__call_result_t' requested here
  502 |       -> __call_result_t<__detail::__impl_of<_Sender>, __copy_cvref_fn<_Sender>, _ApplyFn> {  //
      |          ^
./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:629:76: note: while substituting deduced template arguments into function template 'apply' [with _Sender = stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, _ApplyFn = (lambda at ./third_party/stdexec/include/stdexec/execution.hpp:670:7)]
  629 |         -> decltype(STDEXEC_CALL_EXPLICIT_THIS_MEMFN(((_Sender&&) __sndr), apply)(
      |                                                                            ^
./third_party/stdexec/include/stdexec/execution.hpp:668:12: note: while substituting deduced template arguments into function template 'operator()' [with _Sender = stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, _ApplyFn = (lambda at ./third_party/stdexec/include/stdexec/execution.hpp:670:7)]
  668 |     return __sexpr_apply(
      |            ^
./third_party/stdexec/include/stdexec/execution.hpp:640:37: note: in instantiation of function template specialization 'stdexec::dependent_domain::transform_sender<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
  640 |           __dom, dependent_domain().transform_sender((_Sender&&) __sndr, __env), __env);
      |                                     ^
./third_party/stdexec/include/stdexec/__detail/__concepts.hpp:31:7: note: in instantiation of function template specialization 'stdexec::__domain::__transform_dependent_sender::operator()<stdexec::default_domain, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
   31 |       ((_Fun&&) __fun)((_As&&) __as...);    //
      |       ^
./third_party/stdexec/include/stdexec/__detail/__concepts.hpp:31:7: note: in instantiation of requirement here
   31 |       ((_Fun&&) __fun)((_As&&) __as...);    //
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/__detail/__concepts.hpp:30:5: note: while substituting template arguments into constraint expression here
   30 |     requires(_Fun&& __fun, _As&&... __as) { //
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   31 |       ((_Fun&&) __fun)((_As&&) __as...);    //
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   32 |     };
      |     ~
./third_party/stdexec/include/stdexec/__detail/__concepts.hpp:35:5: note: while checking the satisfaction of concept '__callable<stdexec::transform_sender_t, stdexec::default_domain, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
   35 |     __callable<_Fun, _As...> && //
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/__detail/__concepts.hpp:35:5: note: while substituting template arguments into constraint expression here
   35 |     __callable<_Fun, _As...> && //
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/execution.hpp:1443:14: note: while checking the satisfaction of concept '__nothrow_callable<stdexec::transform_sender_t, stdexec::default_domain, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, stdexec::__env::empty_env>' requested here
 1443 |           && __nothrow_callable<transform_sender_t, _Domain, _Sender, env_of_t<_Receiver&>>;
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/execution.hpp:1465:40: note: in instantiation of function template specialization 'stdexec::__connect::connect_t::__select_impl<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, (anonymous namespace)::expect_error_receiver<>>' requested here
 1465 |       using __select_impl_t = decltype(__select_impl<_Sender, _Receiver>());
      |                                        ^
./third_party/stdexec/include/stdexec/execution.hpp:1473:30: note: in instantiation of template type alias '__select_impl_t' requested here
 1473 |           -> __call_result_t<__select_impl_t<_Sender, _Receiver>> {
      |                              ^
third_party/crosstool/v18/llvm_unstable/toolchain/bin/../include/c++/v1/__type_traits/invoke.h:147:10: note: while substituting deduced template arguments into function template 'operator()' [with _Sender = stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, _Receiver = (anonymous namespace)::expect_error_receiver<>]
  147 | decltype(std::declval<_Fp>()(std::declval<_Args>()...))
      |          ^
third_party/crosstool/v18/llvm_unstable/toolchain/bin/../include/c++/v1/__type_traits/invoke.h:157:19: note: while substituting deduced template arguments into function template '__invoke' [with _Fp = stdexec::__connect::connect_t, _Args = <stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, (anonymous namespace)::expect_error_receiver<>>]
  157 |   static decltype(std::__invoke(std::declval<_XFp>(), std::declval<_XArgs>()...)) __try_call(int);
      |                   ^
third_party/crosstool/v18/llvm_unstable/toolchain/bin/../include/c++/v1/__type_traits/invoke.h:163:28: note: while substituting deduced template arguments into function template '__try_call' [with _XFp = stdexec::__connect::connect_t, _XArgs = (no value)]
  163 |   using _Result = decltype(__try_call<_Fp, _Args...>(0));
      |                            ^
third_party/crosstool/v18/llvm_unstable/toolchain/bin/../include/c++/v1/__type_traits/invoke.h:211:24: note: in instantiation of template class 'std::__invokable_r<void, stdexec::__connect::connect_t, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, (anonymous namespace)::expect_error_receiver<>>' requested here
  211 |     : public enable_if<__invokable<_Fp, _Args...>::value, typename __invokable_r<void, _Fp, _Args...>::_Result> {};
      |                        ^
third_party/crosstool/v18/llvm_unstable/toolchain/bin/../include/c++/v1/__type_traits/invoke.h:262:45: note: in instantiation of template class 'std::__invoke_of<stdexec::__connect::connect_t, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, (anonymous namespace)::expect_error_receiver<>>' requested here
  262 | struct _LIBCPP_TEMPLATE_VIS invoke_result : __invoke_of<_Fn, _Args...> {};
      |                                             ^
third_party/crosstool/v18/llvm_unstable/toolchain/bin/../include/c++/v1/__type_traits/invoke.h:265:1: note: in instantiation of template class 'std::invoke_result<stdexec::__connect::connect_t, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, (anonymous namespace)::expect_error_receiver<>>' requested here
  265 | using invoke_result_t = typename invoke_result<_Fn, _Args...>::type;
      | ^
third_party/crosstool/v18/llvm_unstable/toolchain/bin/../include/c++/v1/__functional/invoke.h:26:53: note: in instantiation of template type alias 'invoke_result_t' requested here
   26 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 invoke_result_t<_Fn, _Args...>
      |                                                     ^
third_party/crosstool/v18/llvm_unstable/toolchain/bin/../include/c++/v1/__concepts/invocable.h:28:3: note: while substituting deduced template arguments into function template 'invoke' [with _Fn = stdexec::__connect::connect_t, _Args = <stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, (anonymous namespace)::expect_error_receiver<>>]
   28 |   std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
      |   ^
third_party/crosstool/v18/llvm_unstable/toolchain/bin/../include/c++/v1/__concepts/invocable.h:28:3: note: in instantiation of requirement here
   28 |   std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
third_party/crosstool/v18/llvm_unstable/toolchain/bin/../include/c++/v1/__concepts/invocable.h:27:21: note: while substituting template arguments into constraint expression here
   27 | concept invocable = requires(_Fn&& __fn, _Args&&... __args) {
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   28 |   std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   29 | };
      | ~
third_party/stdexec/test/stdexec/algos/adaptors/test_stopped_as_optional.cpp:69:20: note: while checking the satisfaction of concept 'invocable<stdexec::__connect::connect_t, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, (anonymous namespace)::expect_error_receiver<>>' requested here
   69 |     static_assert(!std::invocable);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/stdexec/include/stdexec/execution.hpp:256:10: note: candidate template ignored: substitution failure [with _TaggedTuple = stdexec::__mtry_catch<stdexec::__select_completions_for<stdexec::__receivers::set_error_t, stdexec::__qf<stdexec::__receivers::set_error_t>>, stdexec::__mconst<stdexec::__>>, _Variant = stdexec::__remove<stdexec::__, stdexec::__q<stdexec::completion_signatures>>, _Sigs = <stdexec::__receivers::set_value_t (int), stdexec::__receivers::set_error_t (std::exception_ptr)>]: pack expansion used as argument for non-pack parameter of alias template
  256 |     auto __for_all_sigs_(completion_signatures<_Sigs...>*, _TaggedTuple*, _Variant*)
      |          ^
```

</details>

<details>
<summary>Crash dump</summary>

```
PLEASE submit a bug report to http://go/clang-crash-bug and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang -frandom-seed=blaze-out/k8-fastbuild/bin/third_party/stdexec/test/_objs/stdexec_algos_adaptors_test_stopped_as_optional/test_stopped_as_optional.pic.o -DCATCH_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS -DSTDEXEC_USE_EXCEPTIONS -DABSL_ALLOCATOR_NOTHROW -DINTERNAL_DEPLOYMENT -iquote . -iquote blaze-out/k8-fastbuild/genfiles -iquote blaze-out/k8-fastbuild/bin -iquote blaze-out/k8-fastbuild-ST-c90edcb1652f/genfiles -iquote blaze-out/k8-fastbuild-ST-c90edcb1652f/bin -isystem third_party/catch/single_include -isystem blaze-out/k8-fastbuild/genfiles/third_party/catch/single_include -isystem blaze-out/k8-fastbuild/bin/third_party/catch/single_include -isystem third_party/stl/cxx17 -isystem blaze-out/k8-fastbuild-ST-c90edcb1652f/genfiles/third_party/stl/cxx17 -isystem blaze-out/k8-fastbuild-ST-c90edcb1652f/bin/third_party/stl/cxx17 -isystem third_party/stl/itanium_abi -isystem blaze-out/k8-fastbuild-ST-c90edcb1652f/genfiles/third_party/stl/itanium_abi -isystem blaze-out/k8-fastbuild-ST-c90edcb1652f/bin/third_party/stl/itanium_abi -fno-omit-frame-pointer -no-canonical-prefixes -DCOMPILER_GCC3 -DCOMPILER_GCC4 -DGOOGLE_GLIBCXX_VERSION=40901 -DHASH_NAMESPACE=__gnu_cxx -D__STDC_FORMAT_MACROS -DSUPPRESS_USE_FILE_OFFSET64 -fdiagnostics-show-option -fmessage-length=0 -fno-exceptions -fbracket-depth=768 -fno-strict-aliasing -fmerge-all-constants -flax-vector-conversions=all -funsigned-char -ffile-reproducible -fcolor-diagnostics -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -fno-assume-unique-vtables -Wall -Werror -Wno-address-of-packed-member -Wno-defaulted-function-deleted -Wno-enum-compare-switch -Wno-expansion-to-defined -Wno-ignored-attributes -Wno-ignored-qualifiers -Wno-inconsistent-missing-override -Wno-potentially-evaluated-expression -Wno-range-loop-analysis -Wno-strict-prototypes -Wno-tautological-type-limit-compare -Wno-tautological-undefined-compare -Wno-tautological-unsigned-zero-compare -Wno-tautological-unsigned-enum-zero-compare -Wno-undefined-func-template -Wno-unused-but-set-variable -Wno-unused-lambda-capture -Wno-unused-local-typedef -Wno-deprecated-builtins -Wno-deprecated-volatile -Wno-deprecated-anon-enum-enum-conversion -Wno-deprecated-enum-compare -Wno-deprecated-enum-enum-conversion -Wno-deprecated-enum-compare-conditional -Wno-deprecated-enum-float-conversion -Wno-deprecated-this-capture -Wno-deprecated-array-compare -Wno-deprecated-comma-subscript -Wno-bitfield-constant-conversion -Wno-bitwise-instead-of-logical -Wno-comment -Wno-compound-token-split -Wno-deprecated-non-prototype -Wno-enum-constexpr-conversion -Wno-misleading-indentation -Wno-psabi -Wno-unqualified-std-cast-call -Wno-ambiguous-member-template -Wno-char-subscripts -Wno-deprecated-declarations -Wno-deprecated-pragma -Wno-extern-c-compat -Wno-gnu-alignof-expression -Wno-gnu-variable-sized-type-not-at-end -Wno-implicit-int-float-conversion -Wno-invalid-source-encoding -Wno-mismatched-tags -Wno-pointer-sign -Wno-private-header -Wno-sign-compare -Wno-strict-overflow -Wno-unknown-pragmas -Wno-unused-command-line-argument -Wno-unused-const-variable -Wno-unused-function -Wno-unused-private-field -Wno-user-defined-warnings -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wfor-loop-analysis -Wgnu-redeclared-enum -Winfinite-recursion -Wself-assign -Wstring-conversion -Wtautological-overlap-compare -Wunused-but-set-parameter -Wunused-comparison -Wvla -Wno-return-type-c-linkage -Wno-self-assign-overloaded -Wctad-maybe-unsupported -Wgoogle3-inline-namespace -Wgoogle3-literal-operator -Wthread-safety-beta --cuda-host-only -faligned-allocation -fnew-alignment=8 -Wno-trigraphs -Woverloaded-virtual -Wno-invalid-offsetof -Wno-final-dtor-non-final-class -Wnon-virtual-dtor -Wimplicit-fallthrough -fshow-overloads=best -Wno-c++23-lambda-attributes -fcoro-aligned-allocation -O1 -fno-asynchronous-unwind-tables -ffp-contract=off --target=x86_64-grtev4-linux-gnu -DOS_LINUX -fno-unique-section-names -maes -mcx16 -msse4.2 -mpclmul -mprefer-vector-width=128 -mprfchw -fsplit-dwarf-inlining -gz=zstd --system-header-prefix=third_party/ --no-system-header-prefix=third_party/absl/ --no-system-header-prefix=third_party/blue/ --no-system-header-prefix=third_party/car/ --no-system-header-prefix=third_party/crubit/ --no-system-header-prefix=third_party/diff/ --no-system-header-prefix=third_party/eigen3/ --no-system-header-prefix=third_party/giza/ --no-system-header-prefix=third_party/gnupg/ --no-system-header-prefix=third_party/gnupg2/ --no-system-header-prefix=third_party/gpus/nccl_plugins/ --no-system-header-prefix=third_party/golang/ --no-system-header-prefix=third_party/google_home_platform/ --no-system-header-prefix=third_party/googlefuzztest/ --no-system-header-prefix=third_party/googletest/ --no-system-header-prefix=third_party/halide/ --no-system-header-prefix=third_party/icu/ --no-system-header-prefix=third_party/iree/ --no-system-header-prefix=third_party/libaddressinput/ --no-system-header-prefix=third_party/libwebp/ --no-system-header-prefix=third_party/llvm/ --no-system-header-prefix=third_party/mlir_edge/ --no-system-header-prefix=third_party/nik/ --no-system-header-prefix=third_party/nss/ --no-system-header-prefix=third_party/openssl/ --no-system-header-prefix=third_party/program_image_remapper/ --no-system-header-prefix=third_party/protobuf/ --no-system-header-prefix=third_party/py/riegeli/ --no-system-header-prefix=third_party/riegeli/ --no-system-header-prefix=third_party/safari/ --no-system-header-prefix=third_party/sketchology/ --no-system-header-prefix=third_party/stg/ --no-system-header-prefix=third_party/tcmalloc/ --no-system-header-prefix=third_party/tensorflow/ --no-system-header-prefix=third_party/tensorflow_text/ --no-system-header-prefix=third_party/tink/ --no-system-header-prefix=third_party/windmill/ -Wthread-safety-analysis -D__GOOGLE3_RANDOMIZATION_ROLLOUT=6 -D_LIBCPP_DEBUG_RANDOMIZE_UNSPECIFIED_STABILITY -D_LIBCPP_DEBUG_STRICT_WEAK_ORDERING_CHECK -D_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE -D_LIBCPP_ENABLE_CXX17_REMOVED_BINDERS -D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION -D_LIBCPP_ENABLE_CXX20_REMOVED_BINDER_TYPEDEFS -D_LIBCPP_ENABLE_CXX20_REMOVED_NEGATORS -D_LIBCPP_ENABLE_CXX20_REMOVED_SHARED_PTR_UNIQUE -D_LIBCPP_ENABLE_CXX20_REMOVED_RAW_STORAGE_ITERATOR -D_LIBCPP_ENABLE_CXX20_REMOVED_TYPE_TRAITS -D_LIBCPP_GOOGLE3_EARLY_DELETED_STRING_VIEW_NULLPTR_CTOR -fsanitize=alignment,return,returns-nonnull-attribute,vla-bound,unreachable,float-cast-overflow -fsanitize-trap=all -DUNDEFINED_BEHAVIOR_SANITIZER -fsanitize=null -fmodule-name=//third_party/stdexec/test:stdexec_algos_adaptors_test_stopped_as_optional -fmodule-map-file=blaze-out/k8-fastbuild/bin/third_party/stdexec/test/stdexec_algos_adaptors_test_stopped_as_optional.cppmap -Xclang=-fno-cxx-modules -Xclang=-fmodule-map-file-home-is-cwd -fsized-deallocation -fno-direct-access-external-data -fPIE -fPIC -fmodules-strict-decluse -Wprivate-header -fmodule-map-file=blaze-out/k8-fastbuild/bin/third_party/crosstool/v18/llvm_unstable/gen-crosstool-x86.cppmap -fmodule-map-file=blaze-out/k8-fastbuild/bin/third_party/stdexec/test/test_common.cppmap -fmodule-map-file=blaze-out/k8-fastbuild/bin/third_party/catch/catch_single_include.cppmap -fmodule-map-file=blaze-out/k8-fastbuild/bin/third_party/stdexec/stdexec.cppmap -fmodule-map-file=blaze-out/k8-fastbuild/bin/third_party/stdexec/exec.cppmap -fmodule-map-file=blaze-out/k8-fastbuild/bin/third_party/stdexec/stdexec_detail.cppmap -fmodule-map-file=blaze-out/k8-fastbuild/bin/tools/cpp/link_extra_lib.cppmap -fmodule-map-file=blaze-out/k8-fastbuild/bin/tools/cpp/malloc.cppmap -fmodule-map-file=blaze-out/k8-fastbuild-ST-c90edcb1652f/bin/third_party/crosstool/v18/llvm_unstable/stl_cc_library.cppmap -fmodule-map-file=blaze-out/k8-fastbuild-ST-c90edcb1652f/bin/third_party/crosstool/v18/llvm_unstable/src/libc/llvmlibc_cc_library.cppmap -fmodule-map-file=third_party/grte/grte-v5-x86.cppmap -ffunction-sections -fdata-sections -pthread -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG -fexceptions -fcoroutines -ftemplate-backtrace-limit=0 -ferror-limit=0 -fmacro-backtrace-limit=0 -Wno-ctad-maybe-unsupported --sysroot=third_party/grte/v5_x86/release/usr/grte/v5 -std=gnu++20 -stdlib=libc++ -Wno-tautological-type-limit-compare -Wno-thread-safety-reference-return -Wno-nan-infinity-disabled -Wno-alias-template-in-declaration-name -Wno-nullability-completeness -Wno-builtin-macro-redefined -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" -D__TIME__=\"redacted\" -c third_party/stdexec/test/stdexec/algos/adaptors/test_stopped_as_optional.cpp -o blaze-out/k8-fastbuild/bin/third_party/stdexec/test/_objs/stdexec_algos_adaptors_test_stopped_as_optional/test_stopped_as_optional.pic.o
1.	third_party/stdexec/test/stdexec/algos/adaptors/test_stopped_as_optional.cpp:69:89: current parser token ')'
2.	third_party/stdexec/test/stdexec/algos/adaptors/test_stopped_as_optional.cpp:26:1: parsing namespace '(anonymous)'
3.	third_party/stdexec/test/stdexec/algos/adaptors/test_stopped_as_optional.cpp:63:40: parsing function body '(anonymous namespace)::C_A_T_C_H_T_E_S_T_10'
4.	third_party/stdexec/test/stdexec/algos/adaptors/test_stopped_as_optional.cpp:63:40: in compound statement ('{}')
5.	third_party/crosstool/v18/llvm_unstable/toolchain/bin/../include/c++/v1/__type_traits/invoke.h:262:29: instantiating class definition 'std::invoke_result<stdexec::__connect::connect_t, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, (anonymous namespace)::expect_error_receiver<>>'
6.	third_party/crosstool/v18/llvm_unstable/toolchain/bin/../include/c++/v1/__type_traits/invoke.h:210:8: instantiating class definition 'std::__invoke_of<stdexec::__connect::connect_t, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, (anonymous namespace)::expect_error_receiver<>>'
7.	third_party/crosstool/v18/llvm_unstable/toolchain/bin/../include/c++/v1/__type_traits/invoke.h:155:8: instantiating class definition 'std::__invokable_r<void, stdexec::__connect::connect_t, stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, (anonymous namespace)::expect_error_receiver<>>'
8.	./third_party/stdexec/include/stdexec/execution.hpp:1439:29: instantiating function definition 'stdexec::__connect::connect_t::__select_impl<stdexec::__sexpr<(lambda at ./third_party/stdexec/include/stdexec/__detail/__basic_sender.hpp:594:18)>, (anonymous namespace)::expect_error_receiver<>>'
  #0 0x0000563cd26a92f8 llvm::sys::RunSignalHandlers() (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x80a92f8)
  #1 0x0000563cd2670d16 CrashRecoverySignalHandler(int) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x8070d16)
  #2 0x00007f5b789e1e80 __restore_rt (/usr/grte/v5/lib64/libpthread.so.0+0x14e80)
  #3 0x0000563ccf94406d clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::IntExprEvaluator, bool>::Visit(clang::Stmt const*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x534406d)
  #4 0x0000563ccf8e802c Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x52e802c)
  #5 0x0000563ccf8e3d86 EvaluateInPlace(clang::APValue&, (anonymous namespace)::EvalInfo&, (anonymous namespace)::LValue const&, clang::Expr const*, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x52e3d86)
  #6 0x0000563ccf8e36e5 clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::ConstantExprKind) const (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x52e36e5)
  #7 0x0000563cceb70feb clang::ActionResult<clang::Expr*, true> calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0>(clang::Sema&, clang::Expr const*, clang::ConstraintSatisfaction&, calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0&&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4570feb)
  #8 0x0000563cceb6a94e CheckConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x456a94e)
  #9 0x0000563cceb6a6f6 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x456a6f6)
 #10 0x0000563ccf320c39 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4d20c39)
 #11 0x0000563ccf471e56 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformConceptSpecializationExpr(clang::ConceptSpecializationExpr*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e71e56)
 #12 0x0000563ccf492616 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCondition(clang::SourceLocation, clang::VarDecl*, clang::Expr*, clang::Sema::ConditionKind) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e92616)
 #13 0x0000563ccf49053c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e9053c)
 #14 0x0000563ccf478e42 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e78e42)
 #15 0x0000563ccf465c02 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e65c02)
 #16 0x0000563ccf4b1c5b clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4eb1c5b)
 #17 0x0000563cce9aa46f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x43aa46f)
 #18 0x0000563ccf3ffb5c clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4dffb5c)
 #19 0x0000563ccee979b4 clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, llvm::ArrayRef<clang::SourceLocation>, clang::ObjCInterfaceDecl const*, bool, bool, clang::ObjCInterfaceDecl*, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x48979b4)
 #20 0x0000563ccf27bbd3 FinishOverloadedCallExpr(clang::Sema&, clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, clang::OverloadCandidateSet*, clang::OverloadCandidate**, clang::OverloadingResult, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7bbd3)
 #21 0x0000563ccf27baa4 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7baa4)
 #22 0x0000563ccee9fd58 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x489fd58)
 #23 0x0000563cceec2b9b clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x48c2b9b)
 #24 0x0000563ccf4725bb clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e725bb)
 #25 0x0000563ccf48481b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDecltypeType(clang::TypeLocBuilder&, clang::DecltypeTypeLoc) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e8481b)
 #26 0x0000563ccf45ee32 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e5ee32)
 #27 0x0000563ccf45f840 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e5f840)
 #28 0x0000563ccf310188 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4d10188)
 #29 0x0000563ccf481988 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e81988)
 #30 0x0000563ccf48952a clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e8952a)
 #31 0x0000563ccf486469 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformElaboratedType(clang::TypeLocBuilder&, clang::ElaboratedTypeLoc) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e86469)
 #32 0x0000563ccf45ee32 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e5ee32)
 #33 0x0000563ccf466390 (anonymous namespace)::TemplateInstantiator::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e66390)
 #34 0x0000563ccf481274 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e81274)
 #35 0x0000563ccf48952a clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e8952a)
 #36 0x0000563ccf486469 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformElaboratedType(clang::TypeLocBuilder&, clang::ElaboratedTypeLoc) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e86469)
 #37 0x0000563ccf45ff2c clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e5ff2c)
 #38 0x0000563ccf4a9537 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4ea9537)
 #39 0x0000563ccf4a6541 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, clang::TemplateDeclInstantiator::RewriteKind) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4ea6541)
 #40 0x0000563ccf4df1f9 void llvm::function_ref<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::$_0>(long) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4edf1f9)
 #41 0x0000563cce9aa46f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x43aa46f)
 #42 0x0000563ccf4afd92 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4eafd92)
 #43 0x0000563ccf3fa834 clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4dfa834)
 #44 0x0000563ccf456f96 void llvm::function_ref<void ()>::callback_fn<clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>)::$_2>(long) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e56f96)
 #45 0x0000563cce9aa46f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x43aa46f)
 #46 0x0000563ccf3fc253 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4dfc253)
 #47 0x0000563ccf265009 clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c65009)
 #48 0x0000563ccf2852e0 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c852e0)
 #49 0x0000563cceea0286 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x48a0286)
 #50 0x0000563cceec2b9b clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x48c2b9b)
 #51 0x0000563ccf4725bb clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e725bb)
 #52 0x0000563ccf48481b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDecltypeType(clang::TypeLocBuilder&, clang::DecltypeTypeLoc) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e8481b)
 #53 0x0000563ccf45fcec clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e5fcec)
 #54 0x0000563ccf4a9537 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4ea9537)
 #55 0x0000563ccf4a7b48 clang::TemplateDeclInstantiator::VisitFunctionDecl(clang::FunctionDecl*, clang::TemplateParameterList*, clang::TemplateDeclInstantiator::RewriteKind) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4ea7b48)
 #56 0x0000563ccf4df1f9 void llvm::function_ref<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::$_0>(long) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4edf1f9)
 #57 0x0000563cce9aa46f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x43aa46f)
 #58 0x0000563ccf4afd92 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4eafd92)
 #59 0x0000563ccf3fa834 clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4dfa834)
 #60 0x0000563ccf456f96 void llvm::function_ref<void ()>::callback_fn<clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>)::$_2>(long) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e56f96)
 #61 0x0000563cce9aa46f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x43aa46f)
 #62 0x0000563ccf3fc253 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4dfc253)
 #63 0x0000563ccf26558e clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, bool, clang::CallExpr::ADLCallKind, clang::OverloadCandidateParamOrder, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c6558e)
 #64 0x0000563ccf27b45d AddOverloadedCallCandidate(clang::Sema&, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7b45d)
 #65 0x0000563ccf27b36b clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7b36b)
 #66 0x0000563ccf27b62c clang::Sema::buildOverloadedCallSet(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7b62c)
 #67 0x0000563ccf27b8ed clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7b8ed)
 #68 0x0000563ccee9fd58 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x489fd58)
 #69 0x0000563cceec2b9b clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x48c2b9b)
 #70 0x0000563ccf4725bb clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e725bb)
 #71 0x0000563ccf48481b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDecltypeType(clang::TypeLocBuilder&, clang::DecltypeTypeLoc) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e8481b)
 #72 0x0000563ccf45fcec clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e5fcec)
 #73 0x0000563ccf4a9537 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4ea9537)
 #74 0x0000563ccf4a6541 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, clang::TemplateDeclInstantiator::RewriteKind) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4ea6541)
 #75 0x0000563ccf4df1f9 void llvm::function_ref<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::$_0>(long) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4edf1f9)
 #76 0x0000563cce9aa46f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x43aa46f)
 #77 0x0000563ccf4afd92 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4eafd92)
 #78 0x0000563ccf3fa834 clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4dfa834)
 #79 0x0000563ccf456f96 void llvm::function_ref<void ()>::callback_fn<clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>)::$_2>(long) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e56f96)
 #80 0x0000563cce9aa46f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x43aa46f)
 #81 0x0000563ccf3fc253 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4dfc253)
 #82 0x0000563ccf26558e clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, bool, clang::CallExpr::ADLCallKind, clang::OverloadCandidateParamOrder, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c6558e)
 #83 0x0000563ccf27b45d AddOverloadedCallCandidate(clang::Sema&, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7b45d)
 #84 0x0000563ccf27b36b clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7b36b)
 #85 0x0000563ccf27b62c clang::Sema::buildOverloadedCallSet(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7b62c)
 #86 0x0000563ccf27b8ed clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7b8ed)
 #87 0x0000563ccee9fd58 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x489fd58)
 #88 0x0000563cceec2b9b clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x48c2b9b)
 #89 0x0000563ccf4725bb clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e725bb)
 #90 0x0000563ccf48481b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDecltypeType(clang::TypeLocBuilder&, clang::DecltypeTypeLoc) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e8481b)
 #91 0x0000563ccf45ee32 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e5ee32)
 #92 0x0000563ccf45eb55 clang::Sema::SubstType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e5eb55)
 #93 0x0000563ccf49eb7d clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(clang::TypedefNameDecl*, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e9eb7d)
 #94 0x0000563ccf49fbf3 clang::TemplateDeclInstantiator::VisitTypeAliasDecl(clang::TypeAliasDecl*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e9fbf3)
 #95 0x0000563ccf462c7d clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e62c7d)
 #96 0x0000563ccf464f9b clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e64f9b)
 #97 0x0000563ccf549cf3 void llvm::function_ref<void ()>::callback_fn<clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*)::$_0>(long) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4f49cf3)
 #98 0x0000563cce9aa46f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x43aa46f)
 #99 0x0000563ccf52bae4 clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4f2bae4)
#100 0x0000563ccf52b3b5 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4f2b3b5)
#101 0x0000563ccea4d3e6 clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x444d3e6)
#102 0x0000563cceeae23a clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, bool, clang::Scope const*, clang::TypeSourceInfo**) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x48ae23a)
#103 0x0000563ccf477425 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*, bool, clang::TypeSourceInfo**) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e77425)
#104 0x0000563ccf46640d (anonymous namespace)::TemplateInstantiator::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e6640d)
#105 0x0000563ccf481274 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e81274)
#106 0x0000563ccf48952a clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e8952a)
#107 0x0000563ccf486469 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformElaboratedType(clang::TypeLocBuilder&, clang::ElaboratedTypeLoc) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e86469)
#108 0x0000563ccf45ee32 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e5ee32)
#109 0x0000563ccf4623cb clang::Sema::SubstBaseSpecifiers(clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e623cb)
#110 0x0000563ccf462b08 clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e62b08)
#111 0x0000563ccf464f9b clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e64f9b)
#112 0x0000563ccf549cf3 void llvm::function_ref<void ()>::callback_fn<clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*)::$_0>(long) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4f49cf3)
#113 0x0000563cce9aa46f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x43aa46f)
#114 0x0000563ccf52bae4 clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4f2bae4)
#115 0x0000563ccf52b3b5 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4f2b3b5)
#116 0x0000563cced86119 clang::Sema::CheckBaseSpecifier(clang::CXXRecordDecl*, clang::SourceRange, bool, clang::AccessSpecifier, clang::TypeSourceInfo*, clang::SourceLocation) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4786119)
#117 0x0000563ccf462673 clang::Sema::SubstBaseSpecifiers(clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e62673)
#118 0x0000563ccf462b08 clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e62b08)
#119 0x0000563ccf464f9b clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e64f9b)
#120 0x0000563ccf549cf3 void llvm::function_ref<void ()>::callback_fn<clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*)::$_0>(long) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4f49cf3)
#121 0x0000563cce9aa46f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x43aa46f)
#122 0x0000563ccf52bae4 clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4f2bae4)
#123 0x0000563ccf52b3b5 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4f2b3b5)
#124 0x0000563ccea4d3e6 clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x444d3e6)
#125 0x0000563ccf33af4d clang::Sema::CheckTypenameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const&, clang::SourceLocation, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4d3af4d)
#126 0x0000563ccf48269a clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentNameType(clang::TypeLocBuilder&, clang::DependentNameTypeLoc, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e8269a)
#127 0x0000563ccf45ee32 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e5ee32)
#128 0x0000563ccf45f840 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e5f840)
#129 0x0000563ccf310188 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4d10188)
#130 0x0000563ccf481988 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e81988)
#131 0x0000563ccf48952a clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e8952a)
#132 0x0000563ccf486469 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformElaboratedType(clang::TypeLocBuilder&, clang::ElaboratedTypeLoc) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e86469)
#133 0x0000563ccf45fcec clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e5fcec)
#134 0x0000563ccf4a9537 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4ea9537)
#135 0x0000563ccf4a7b48 clang::TemplateDeclInstantiator::VisitFunctionDecl(clang::FunctionDecl*, clang::TemplateParameterList*, clang::TemplateDeclInstantiator::RewriteKind) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4ea7b48)
#136 0x0000563ccf4df1f9 void llvm::function_ref<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::$_0>(long) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4edf1f9)
#137 0x0000563cce9aa46f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x43aa46f)
#138 0x0000563ccf4afd92 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4eafd92)
#139 0x0000563ccf3fa834 clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4dfa834)
#140 0x0000563ccf456f96 void llvm::function_ref<void ()>::callback_fn<clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>)::$_2>(long) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e56f96)
#141 0x0000563cce9aa46f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x43aa46f)
#142 0x0000563ccf3fc253 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4dfc253)
#143 0x0000563ccf26558e clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, bool, clang::CallExpr::ADLCallKind, clang::OverloadCandidateParamOrder, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c6558e)
#144 0x0000563ccf27b45d AddOverloadedCallCandidate(clang::Sema&, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7b45d)
#145 0x0000563ccf27b36b clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7b36b)
#146 0x0000563ccf27b62c clang::Sema::buildOverloadedCallSet(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7b62c)
#147 0x0000563ccf27b8ed clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4c7b8ed)
#148 0x0000563ccee9fd58 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x489fd58)
#149 0x0000563cceec2b9b clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x48c2b9b)
#150 0x0000563ccf4725bb clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e725bb)
#151 0x0000563ccf47a7d6 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformRequiresExpr(clang::RequiresExpr*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e7a7d6)
#152 0x0000563ccf46ccbd (anonymous namespace)::TemplateInstantiator::TransformRequiresExpr(clang::RequiresExpr*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e6ccbd)
#153 0x0000563ccf467780 clang::Sema::SubstConstraintExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4e67780)
#154 0x0000563cceb72289 calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0::operator()(clang::Expr const*) const (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4572289)
#155 0x0000563cceb70f52 clang::ActionResult<clang::Expr*, true> calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0>(clang::Sema&, clang::Expr const*, clang::ConstraintSatisfaction&, calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0&&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4570f52)
#156 0x0000563cceb6a94e CheckConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x456a94e)
#157 0x0000563cceb6a6f6 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x456a6f6)
#158 0x0000563ccf320c39 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4d20c39)
#159 0x0000563ccf321127 clang::Sema::BuildTemplateIdExpr(clang::CXXScopeSpec const&, clang::SourceLocation, clang::LookupResult&, bool, clang::TemplateArgumentListInfo const*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4d21127)
#160 0x0000563ccee9f8e9 clang::Sema::ActOnIdExpression(clang::Scope*, clang::CXXScopeSpec&, clang::SourceLocation, clang::UnqualifiedId&, bool, bool, clang::CorrectionCandidateCallback*, bool, clang::Token*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x489f8e9)
#161 0x0000563cce631216 clang::Parser::tryParseCXXIdExpression(clang::CXXScopeSpec&, bool, clang::Token&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4031216)
#162 0x0000563cce632936 clang::Parser::ParseCXXIdExpression(bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4032936)
#163 0x0000563cce622928 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4022928)
#164 0x0000563cce623584 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4023584)
#165 0x0000563cce61e0e4 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x401e0e4)
#166 0x0000563cce620b71 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4020b71)
#167 0x0000563cce61e0e4 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x401e0e4)
#168 0x0000563cce6201fa clang::Parser::ParseConstantExpressionInExprEvalContext(clang::Parser::TypeCastState) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x40201fa)
#169 0x0000563cce64d3c6 clang::Parser::ParseStaticAssertDeclaration(clang::SourceLocation&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x404d3c6)
#170 0x0000563cce67591c clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x407591c)
#171 0x0000563cce6ad236 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x40ad236)
#172 0x0000563cce6ac634 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x40ac634)
#173 0x0000563cce6b7650 clang::Parser::ParseCompoundStatementBody(bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x40b7650)
#174 0x0000563cce6b85c6 clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x40b85c6)
#175 0x0000563cce5fe267 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3ffe267)
#176 0x0000563cce6785e5 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x40785e5)
#177 0x0000563cce5fce72 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3ffce72)
#178 0x0000563cce5fc88e clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3ffc88e)
#179 0x0000563cce5fb99d clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3ffb99d)
#180 0x0000563cce648cd6 clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4048cd6)
#181 0x0000563cce64816e clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x404816e)
#182 0x0000563cce675c0f clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x4075c0f)
#183 0x0000563cce5fb254 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3ffb254)
#184 0x0000563cce5f9aa7 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3ff9aa7)
#185 0x0000563cce5f49fe clang::ParseAST(clang::Sema&, bool, bool) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3ff49fe)
#186 0x0000563cce36bd3a clang::FrontendAction::Execute() (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3d6bd3a)
#187 0x0000563cce2e56e4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3ce56e4)
#188 0x0000563ccd49b6cf clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x2e9b6cf)
#189 0x0000563ccd490bec cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x2e90bec)
#190 0x0000563ccd48dc26 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x2e8dc26)
#191 0x0000563cce46b99e void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__u::optional<llvm::StringRef>>, std::__u::basic_string<char, std::__u::char_traits<char>, std::__u::allocator<char>>*, bool*) const::$_0>(long) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3e6b99e)
#192 0x0000563cd2670aef llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x8070aef)
#193 0x0000563cce46b17a clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__u::optional<llvm::StringRef>>, std::__u::basic_string<char, std::__u::char_traits<char>, std::__u::allocator<char>>*, bool*) const (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3e6b17a)
#194 0x0000563cce42d77d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3e2d77d)
#195 0x0000563cce42da2f clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::__u::pair<int, clang::driver::Command const*>>&, bool) const (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3e2da2f)
#196 0x0000563cce44aed0 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__u::pair<int, clang::driver::Command const*>>&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x3e4aed0)
#197 0x0000563ccd48d224 clang_main(int, char**, llvm::ToolContext const&) (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x2e8d224)
#198 0x0000563ccd48b6f4 main (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x2e8b6f4)
#199 0x00007f5b788723d4 __libc_start_main (/usr/grte/v5/lib64/libc.so.6+0x613d4)
#200 0x0000563ccd48b62a _start (third_party/crosstool/v18/llvm_unstable/toolchain/bin/clang+0x2e8b62a)
clang: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version google3-trunk (1d87465a0a95cee9accc5dce7abdabbbc3f3c122)
Target: x86_64-grtev4-linux-gnu
Thread model: posix
InstalledDir: third_party/crosstool/v18/llvm_unstable/toolchain/bin
clang: note: diagnostic msg: 
```

</details>



https://github.com/llvm/llvm-project/pull/89807


More information about the cfe-commits mailing list