@@ -4295,10 +4295,10 @@ namespace boost { namespace parser {
42954295 {
42964296 Iter first = first_;
42974297
4298- auto temp_result =
4299- make_temp_result (first, last, context, skip, flags, success);
4298+ using temp_result_t =
4299+ decltype ( make_temp_result (first, last, context, skip, flags, success) );
43004300
4301- std::decay_t <decltype (parser::get (temp_result , llong<0 >{}))>
4301+ std::decay_t <decltype (parser::get (std::declval< temp_result_t >() , llong<0 >{}))>
43024302 retval{};
43034303
43044304 [[maybe_unused]] auto _ = detail::scoped_trace (
@@ -4310,9 +4310,9 @@ namespace boost { namespace parser {
43104310 : flags,
43114311 retval);
43124312
4313- std::decay_t <decltype (parser::get (temp_result , llong<1 >{}))>
4313+ std::decay_t <decltype (parser::get (std::declval< temp_result_t >() , llong<1 >{}))>
43144314 indices;
4315- std::decay_t <decltype (parser::get (temp_result , llong<2 >{}))>
4315+ std::decay_t <decltype (parser::get (std::declval< temp_result_t >() , llong<2 >{}))>
43164316 merged;
43174317 call_impl (
43184318 first,
@@ -4363,13 +4363,13 @@ namespace boost { namespace parser {
43634363
43644364 Iter first = first_;
43654365
4366- auto temp_result =
4367- make_temp_result (first, last, context, skip, flags, success);
4366+ using temp_result_t =
4367+ decltype ( make_temp_result (first, last, context, skip, flags, success) );
43684368 using temp_result_attr_t =
4369- std::decay_t <decltype (parser::get (temp_result , llong<0 >{}))>;
4370- std::decay_t <decltype (parser::get (temp_result , llong<1 >{}))>
4369+ std::decay_t <decltype (parser::get (std::declval< temp_result_t >() , llong<0 >{}))>;
4370+ std::decay_t <decltype (parser::get (std::declval< temp_result_t >() , llong<1 >{}))>
43714371 indices;
4372- std::decay_t <decltype (parser::get (temp_result , llong<2 >{}))> merged;
4372+ std::decay_t <decltype (parser::get (std::declval< temp_result_t >() , llong<2 >{}))> merged;
43734373
43744374 auto max_ = [](auto result, auto x) {
43754375 if constexpr (decltype (result)::value < decltype (x)::value) {
0 commit comments