1 | $ clang++ --version
|
---|
2 | clang version 3.5.0 (tags/RELEASE_350/final)
|
---|
3 | Target: x86_64-unknown-linux-gnu
|
---|
4 | Thread model: posix
|
---|
5 | $ clang++ -std=c++11 boostbug.cpp
|
---|
6 | In file included from boostbug.cpp:1:
|
---|
7 | In file included from /usr/include/boost/algorithm/string.hpp:20:
|
---|
8 | In file included from /usr/include/boost/algorithm/string/case_conv.hpp:17:
|
---|
9 | /usr/include/boost/iterator/transform_iterator.hpp:85:5: error: call to implicitly-deleted default constructor of '(lambda at boostbug.cpp:11:34)'
|
---|
10 | transform_iterator() { }
|
---|
11 | ^
|
---|
12 | /usr/include/boost/concept_check.hpp:139:10: note: in instantiation of member function 'boost::iterators::transform_iterator<(lambda at boostbug.cpp:11:34),
|
---|
13 | __gnu_cxx::__normal_iterator<X *, std::vector<X, std::allocator<X> > >, boost::iterators::use_default, boost::iterators::use_default>::transform_iterator' requested
|
---|
14 | here
|
---|
15 | TT a; // require default constructor
|
---|
16 | ^
|
---|
17 | /usr/include/boost/concept/usage.hpp:16:43: note: in instantiation of member function 'boost::DefaultConstructible<boost::iterators::transform_iterator<(lambda at
|
---|
18 | boostbug.cpp:11:34), __gnu_cxx::__normal_iterator<X *, std::vector<X, std::allocator<X> > >, boost::iterators::use_default, boost::iterators::use_default>
|
---|
19 | >::~DefaultConstructible' requested here
|
---|
20 | ~usage_requirements() { ((Model*)0)->~Model(); }
|
---|
21 | ^
|
---|
22 | /usr/include/boost/concept/detail/general.hpp:38:42: note: in instantiation of member function
|
---|
23 | 'boost::concepts::usage_requirements<boost::DefaultConstructible<boost::iterators::transform_iterator<(lambda at boostbug.cpp:11:34), __gnu_cxx::__normal_iterator<X
|
---|
24 | *, std::vector<X, std::allocator<X> > >, boost::iterators::use_default, boost::iterators::use_default> > >::~usage_requirements' requested here
|
---|
25 | static void failed() { ((Model*)0)->~Model(); }
|
---|
26 | ^
|
---|
27 | /usr/include/boost/concept_check.hpp:138:5: note: in instantiation of member function 'boost::concepts::requirement<boost::concepts::failed
|
---|
28 | ************boost::concepts::usage_requirements<boost::DefaultConstructible<boost::iterators::transform_iterator<(lambda at boostbug.cpp:11:34),
|
---|
29 | __gnu_cxx::__normal_iterator<X *, std::vector<X, std::allocator<X> > >, boost::iterators::use_default, boost::iterators::use_default> > >::************>::failed'
|
---|
30 | requested here
|
---|
31 | BOOST_CONCEPT_USAGE(DefaultConstructible) {
|
---|
32 | ^
|
---|
33 | /usr/include/boost/concept/usage.hpp:29:7: note: expanded from macro 'BOOST_CONCEPT_USAGE'
|
---|
34 | BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements<model>)); \
|
---|
35 | ^
|
---|
36 | /usr/include/boost/concept/assert.hpp:43:5: note: expanded from macro 'BOOST_CONCEPT_ASSERT'
|
---|
37 | BOOST_CONCEPT_ASSERT_FN(void(*)ModelInParens)
|
---|
38 | ^
|
---|
39 | /usr/include/boost/concept/detail/general.hpp:78:51: note: expanded from macro 'BOOST_CONCEPT_ASSERT_FN'
|
---|
40 | &::boost::concepts::requirement_<ModelFnPtr>::failed> \
|
---|
41 | ^
|
---|
42 | boostbug.cpp:11:69: note: in instantiation of function template specialization 'boost::range_detail::operator|<boost::range_detail::transformed_range<(lambda at
|
---|
43 | boostbug.cpp:11:34), std::vector<X, std::allocator<X> > >, (lambda at boostbug.cpp:11:80)>' requested here
|
---|
44 | boost::join( x | transformed([](X const &){ return string(); }) | filtered([](string const &){return true;}), "");
|
---|
45 | ^
|
---|
46 | boostbug.cpp:11:34: note: lambda expression begins here
|
---|
47 | boost::join( x | transformed([](X const &){ return string(); }) | filtered([](string const &){return true;}), "");
|
---|
48 | ^
|
---|
49 | 1 error generated.
|
---|