[Boost-bugs] [Boost C++ Libraries] #11563: boost::range behavior changed from 1.55 to 1.56

Subject: [Boost-bugs] [Boost C++ Libraries] #11563: boost::range behavior changed from 1.55 to 1.56
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-08-20 12:15:43


#11563: boost::range behavior changed from 1.55 to 1.56
------------------------------+------------------------
 Reporter: fiesh@… | Owner: neilgroves
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: range
  Version: Boost 1.59.0 | Severity: Problem
 Keywords: |
------------------------------+------------------------
 The following code sums up the problem, I think neither the behavior of <=
 1.55 nor the one of >= 1.56 is desirable:

 {{{
 #include <boost/range/join.hpp>

 #include <iostream>
 #include <vector>

 template <typename T>
 void p(T const& t)
 {
         for(const auto i: t) {
                 std::cout << i << '\n';
         }
 }

 int main()
 {
         std::vector<int> u(8, 0); // Make this const and it works.
         const std::vector<int> v(8, 0);
         p(boost::range::join(v, u)); // This does not work <= 1.55 but
 works >= 1.56
         p(boost::range::join(u, v)); // This does not work >= 1.56 but
 works <= 1.55

         return 0;
 }
 }}}

 Also see http://melpon.org/wandbox/permlink/QuyJGrrLq3liyKDf for easier
 trial and error.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11563>
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:18 UTC