Subject: Re: [Boost-bugs] [Boost C++ Libraries] #12085: (a - b) === (!b >> a) does not hold in X3
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-03-28 16:48:08
#12085: (a - b) === (!b >> a) does not hold in X3
-----------------------------------+---------------------
Reporter: mikhail.strelnikov@⦠| Owner: djowel
Type: Bugs | Status: new
Milestone: To Be Determined | Component: spirit
Version: Boost 1.61.0 | Severity: Problem
Resolution: | Keywords:
-----------------------------------+---------------------
Comment (by mikhail.strelnikov@â¦):
I think all this can be minimized to -
{{{
static_assert(traits::is_substitute<fusion::deque<char, std::string>,
std::string>::value == 1, "");
}}}
or even simpler
{{{
static_assert(traits::is_substitute<char, std::string>::value == 1, "");
}}}
Which is kind of makes sense - if we have a char, we can put it to a
string.
If this compiles, then test passes. I've tried this by adding
specialization
{{{
template <typename T, typename Attribute>
struct is_substitute<T, Attribute, typename
enable_if<is_container<Attribute> >::type>
: is_substitute<typename mpl::eval_if
<
fusion::traits::is_sequence<T>,
fusion::result_of::front<T>,
mpl::identity<T>
>::type, typename container_value<Attribute>::type> {};
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/12085#comment:4> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:19 UTC