-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[INFRA] Update the ranges-v3 library to 0.11.0 #2014
Conversation
868c588
to
33693a3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks 👍
b01cb90
to
fa6efd3
Compare
Locally works for:
|
Something triggers the visibility bug... https://travis-ci.org/github/seqan/seqan3/jobs/715804696 |
My guess is that the ranges library now uses the short hand syntax 🐌 |
Yep #include <seqan3/std/ranges> // submodules/range-v3/include/range/v3/view/split.hpp is the main culprit right now.
class A{ int i{5}; };
template <typename t> META_CONCEPT private_bug = requires(t a){a.i;};
static_assert(!private_bug<A>, "See https://github.com/seqan/seqan3/issues/1317"); Does trigger it. |
So, do we fix it upstream (and maybe hope for an 11.1 release or just use some commit)? |
I could get it reduced to this: #include <range/v3/iterator/traits.hpp>
#include <range/v3/detail/prologue.hpp>
namespace ranges {
template(typename I)(
concept(readable_)(I),
same_as<iter_reference_t<I const>, iter_reference_t<I>> AND
same_as<iter_rvalue_reference_t<I const>, iter_rvalue_reference_t<I>>
AND common_reference_with<iter_reference_t<I> &&, iter_value_t<I> &>
AND common_reference_with<iter_reference_t<I> &&,
iter_rvalue_reference_t<I> &&>
AND common_reference_with<iter_rvalue_reference_t<I> &&,
iter_value_t<I> const &>);
template <typename I>
CPP_concept indirectly_readable = CPP_concept_ref(ranges::readable_,
uncvref_t<I>);
template <typename I1, typename I2>
CPP_requires(indirectly_swappable_,
requires(I1 const i1, I2 const i2)(ranges::iter_swap(i1, i2),
ranges::iter_swap(i1, i1),
ranges::iter_swap(i2, i2),
ranges::iter_swap(i2, i1)));
template <typename I1, typename I2 = I1>
CPP_concept indirectly_swappable = indirectly_readable<I1> &&
indirectly_readable<I2> &&CPP_requires_ref(ranges::indirectly_swappable_,
I1, I2);
} // namespace ranges
namespace ranges {
template <typename Rng>
using iterator_t = decltype(begin(std::declval<Rng &>()));
template <typename V, typename Pattern> struct split_view;
namespace detail {
template <typename JoinView, bool Const> struct split_inner_iterator;
template <typename V, typename Pattern, bool Const>
struct split_inner_iterator<split_view<V, Pattern>, Const> {
using Base = meta::const_if_c<Const, V>;
CPP_broken_friend_member friend constexpr auto
iter_swap(split_inner_iterator const &x, split_inner_iterator const &y)
-> CPP_broken_friend_ret(void)(
requires indirectly_swappable<iterator_t<Base>>) {}
};
} // namespace detail
} // namespace ranges
class A {
int i{5};
};
template <typename t> META_CONCEPT private_bug = requires(t a) { a.i; };
static_assert(!private_bug<A>,
"See https://github.com/seqan/seqan3/issues/1317");
|
I created a bug fix upstream ericniebler/range-v3#1547. I'll wait this week, if we have no reaction upstream, I'll temporarily disable the header test. |
Upstream PR was merged |
fa6efd3
to
03f1625
Compare
Codecov Report
@@ Coverage Diff @@
## release-3.0.2 #2014 +/- ##
==============================================
Coverage 97.89% 97.89%
==============================================
Files 263 263
Lines 9879 9879
==============================================
Hits 9671 9671
Misses 208 208 Continue to review full report at Codecov.
|
Fixes seqan/product_backlog#170
Fixes seqan/product_backlog#48