[Boost-bugs] [Boost C++ Libraries] #10536: call to 'begin(...pull_coroutine< R > & c)' is ambiguous

Subject: [Boost-bugs] [Boost C++ Libraries] #10536: call to 'begin(...pull_coroutine< R > & c)' is ambiguous
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-09-24 18:26:20


#10536: call to 'begin(...pull_coroutine< R > & c)' is ambiguous
-------------------------------+-----------------------
 Reporter: ilja.j.honkonen@… | Owner: olli
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: coroutine
  Version: Boost 1.56.0 | Severity: Problem
 Keywords: |
-------------------------------+-----------------------
 The test program (add t to htps)
 htps://github.com/nasailja/pamhd/blob/master/tests/volume_range/number_of_samples.cpp
 which uses
 htps://github.com/nasailja/pamhd/blob/master/source/volume_range.hpp which
 itself uses boost::coroutine stopped compiling when I upgraded Xcode. g++
 --version prints:

 {{{
 Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr
 --with-gxx-include-dir=/usr/include/c++/4.2.1
 Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
 Target: x86_64-apple-darwin13.4.0
 Thread model: posix
 }}}

 and compile fails with:


 {{{
 tests/volume_range/number_of_samples.cpp:56:24: error: call to 'begin' is
 ambiguous
         for (const auto& coord: volume_range(start, end, samples_per_dim))
 {
                               ^
 tests/volume_range/number_of_samples.cpp:81:2: note: in instantiation of
 function template specialization
       'check_number_of_samples<double, 10>' requested here
         check_number_of_samples<double, 10>(1);
         ^
 /Users/iljah/include/boost/coroutine/asymmetric_coroutine.hpp:2210:1:
 note: candidate function
       [with R = std::__1::array<double, 10>]
 begin( pull_coroutine< R > & c)
 ^
 /Users/iljah/include/boost/coroutine/asymmetric_coroutine.hpp:2245:1:
 note: candidate function
       [with R = std::__1::array<double, 10>]
 begin( boost::coroutines::pull_coroutine< R > & c)
 ^
 tests/volume_range/number_of_samples.cpp:56:24: note: when looking up
 'begin' function for range expression of type
       'boost::coroutines::pull_coroutine<std::__1::array<double, 10> >'
         for (const auto& coord: volume_range(start, end, samples_per_dim))
 {
 }}}


 If I comment out in file coroutine/asymmetric_coroutine.hpp the section
 behind #if defined(__clang__) everything works again. No idea if this is a
 user error or coroutine bug.

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