boost::input_iterator_archetype

これコンパイルエラー。

#include <boost/concept_check.hpp>
#include <boost/concept_archetype.hpp>

using namespace boost;
boost::detail::dummy_constructor dummy_cons;

int main() {
  typedef equality_comparable2_first_archetype<> Left;
  input_iterator_archetype< Left > in;
  equality_comparable2_second_archetype<> value(dummy_cons);

  in = std::find(in, in, value);

  return 0;
}
/usr/lib/gcc/i686-pc-linux-gnu/4.2.0/include/g++-v4/bits/stl_algo.h|327| instantiated from '_InputIterator std::find(_InputIterator, _InputIterator, const _Tp&) [with _InputIterator = boost::input_iterator_archetype<boost::equality_comparable2_first_archetype<boost::null_archetype<int> >, 0>, _Tp = boost::equality_comparable2_second_archetype<boost::null_archetype<int> >]'
archetype.cpp|12| instantiated from here
/usr/lib/gcc/i686-pc-linux-gnu/4.2.0/include/g++-v4/bits/stl_algo.h|173| error: no match for 'operator==' in '__first. boost::input_iterator_archetype<T, I>::operator* [with T = boost::equality_comparable2_first_archetype<boost::null_archetype<int> >, int I = 0]() == __val'

input_iterator_archetype のインナークラス reference が上手くいってないっぽい? gcc の問題か?
input_iterator_archetype の替わりに input_iterator_archetype_no_proxy を使えばコンパイルは通るが...
あー、でも Boost Compiler Status Automatic Testをみると concept_check ボロボロだなぁ。