Boost logo

Boost Users :

From: David Abrahams (dave_at_[hidden])
Date: 2007-11-07 18:25:54


on Wed Nov 07 2007, "Benoit Hudson" <benoit.hudson-AT-gmail.com> wrote:

> "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

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net