Skip to content

Commit

Permalink
Merge pull request #615 from ericniebler/destructible-and-gcc-5.2
Browse files Browse the repository at this point in the history
Get range-v3 to compile with gcc-5.2 (fixes #614)
  • Loading branch information
ericniebler authored Mar 28, 2017
2 parents 631d728 + dbef8b3 commit e079763
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions include/range/v3/utility/concepts.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -100,12 +100,15 @@ namespace ranges
template<typename Concept>
using base_concepts_of_t = meta::_t<base_concepts_of<Concept>>;

template<typename T>
T gcc_bugs_bugs_bugs(T);

template<typename...Ts>
auto models_(any) ->
std::false_type;

template<typename...Ts, typename Concept,
typename = decltype(&Concept::template requires_<Ts...>)>
typename = decltype(gcc_bugs_bugs_bugs(&Concept::template requires_<Ts...>))>
auto models_(Concept *) ->
meta::apply<
meta::quote<meta::lazy::strict_and>,
Expand Down Expand Up @@ -485,13 +488,10 @@ namespace ranges

struct Destructible
{
template<typename T,
typename UnRefT = meta::_t<std::remove_reference<T>>>
auto requires_(T &t, UnRefT const &ct) -> decltype(
template<typename T>
auto requires_() -> decltype(
concepts::valid_expr(
concepts::is_true(std::is_nothrow_destructible<T>()),
concepts::has_type<UnRefT *>(&t),
concepts::has_type<UnRefT const *>(&ct)
concepts::is_true(std::is_nothrow_destructible<T>())
));
};

Expand Down

0 comments on commit e079763

Please sign in to comment.