Re: [Boost-bugs] [Boost C++ Libraries] #12249: Wrong operator|() overload being found on multiple platforms & causing compilation failure

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #12249: Wrong operator|() overload being found on multiple platforms & causing compilation failure
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-06-02 18:21:01


#12249: Wrong operator|() overload being found on multiple platforms & causing
compilation failure
-------------------------------+------------------------
  Reporter: rob.desbois@… | Owner: neilgroves
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: range
   Version: Boost 1.61.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+------------------------

Comment (by michel):

 During the overload resolution of operator `|`, the operator for
 `replaced_range` is instantiated if `replaced.hpp` is included
 and the associated namespaces contain `boost::range_detail`.
 This instantiation results in a hard error, if the range's value type is
 an abstract type.

 This problem can be fixed by adding SFINAE-based constraints to operator
 `|`
 for `replaced_range` so that the range's value type is not an abstract
 type.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/12249#comment:1>
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:20 UTC