Commit b83765b5 authored by Dominik Charousset's avatar Dominik Charousset

Fix build on MSVC

parent 19fa65e0
......@@ -310,7 +310,8 @@ public:
apply_sequence(D& self, T& xs) {
auto s = xs.size();
return error::eval([&] { return self.begin_sequence(s); },
[&] { return self.apply_raw(xs.size(), &xs[0]); },
[&] { return s > 0 ? self.apply_raw(xs.size(), &xs[0])
: none; },
[&] { return self.end_sequence(); });
}
......@@ -323,7 +324,9 @@ public:
apply_sequence(D& self, T& xs) {
size_t s;
return error::eval([&] { return self.begin_sequence(s); },
[&] { xs.resize(s); return self.apply_raw(s, &xs[0]); },
[&] { xs.resize(s);
return s > 0 ? self.apply_raw(s, &xs[0])
: none; },
[&] { return self.end_sequence(); });
}
......
......@@ -151,7 +151,8 @@ public:
template <class... Ts>
bool match_elements() const noexcept {
detail::meta_elements<detail::type_list<Ts...>> xs;
return detail::try_match(*this, &xs.arr[0], sizeof...(Ts));
return xs.arr.empty() ? empty()
: detail::try_match(*this, &xs.arr[0], sizeof...(Ts));
}
template <class F>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment