
on Wed Nov 07 2007, "Benoit Hudson"
"For example, when defining a constant lvalue iterator, the user can pass a const-qualified version of the iterator's value_type as iterator_facade's Value parameter and omit the Reference parameter which follows."
This no longer works in current gcc 4.3 (previous issue I mentioned was a compiler bug, now fixed): it works out to generating a const lvalue in operator[], which makes gcc-4.3 give "error: type qualifiers ignored on function return type"
Surely that's a warning, not an error? Do you mean a const rvalue? A const lvalue is what vector<T>::operator[](size_type) const returns.
This is either a bug in boost or a bug in gcc; not being clear on which it really is, I'll file it under boost.
It's certainly legal and meaningful to return a const rvalue, so I'm very confused about your report. It sure sounds like a GCC bug, though. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com