@@ -3240,6 +3240,11 @@ auto UnpackStructImpl(const T& t, MakeIndexSequence<17>, char) {
32403240 const auto & [a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q] = t;
32413241 return std::tie (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q);
32423242}
3243+ template <typename T>
3244+ auto UnpackStructImpl (const T& t, MakeIndexSequence<18 >, char ) {
3245+ const auto & [a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r] = t;
3246+ return std::tie (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r);
3247+ }
32433248#endif // defined(__cpp_structured_bindings)
32443249
32453250template <size_t I, typename T>
@@ -3306,8 +3311,8 @@ class FieldsAreMatcherImpl<Struct, IndexSequence<I...>>
33063311 std::vector<StringMatchResultListener> inner_listener (sizeof ...(I));
33073312
33083313 VariadicExpand (
3309- {failed_pos == ~size_t {} && !std::get<I>(matchers_).MatchAndExplain (
3310- std::get<I>(tuple), &inner_listener[I])
3314+ {failed_pos == ~size_t {}&& !std::get<I>(matchers_).MatchAndExplain (
3315+ std::get<I>(tuple), &inner_listener[I])
33113316 ? failed_pos = I
33123317 : 0 ...});
33133318 if (failed_pos != ~size_t {}) {
0 commit comments