Hello, With gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9). This BOOST_CONCEPT_ASSERT((boost::SinglePassRangeConcept<boost::array<int,8u>>)); is greeted with the warning below, which is annoying. It appears that the reference T& template<typename T> struct SinglePassRangeConcept { private: T& m_range; }; is causing it, but can be eliminated by replacing T& by static T& m_range. Perhaps there is a good reason for T& rather than static T& so I stopped short of putting a request in trac. Please advise. Thanks. ../../Reposetories/boost/trunk/boost/concept/detail/has_constraints.hpp|42|instantiated from ‘const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<boost::array<int, 8u> > >::value’| ../../Reposetories/boost/trunk/boost/concept/detail/has_constraints.hpp|45|instantiated from ‘boost::concepts::not_satisfied<boost::SinglePassRangeConcept<boost::array<int, 8u> > >’| ../../Reposetories/boost/trunk/boost/mpl/if.hpp|67|instantiated from ‘boost::mpl::if_<boost::concepts::not_satisfied<boost::SinglePassRangeConcept<boost::array<int, 8u> > >, boost::concepts::constraint<boost::SinglePassRangeConcept<boost::array<int, 8u> > >, boost::concepts::requirement<boost::concepts::failed************ boost::SinglePassRangeConcept<boost::array<int, 8u> >::************> >’| ../../Reposetories/boost/trunk/boost/concept/detail/general.hpp|20|instantiated from ‘boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<boost::array<int, 8u> >)>’| /home/me/Reposetories/boost/sanbox/statistics/detail/assign/libs/assign/example/chain.cpp|42|instantiated from here| ../../Reposetories/boost/trunk/boost/range/concepts.hpp|209|warning: non-static reference ‘boost::array<int, 8u>& boost::SinglePassRangeConcept<boost::array<int, 8u> >::m_range’ in class without a constructor| /home/me/Reposetories/boost/sanbox/statistics/detail/assign/libs/assign/example/chain.cpp||In function ‘void example_ch