------- Comment #7 from paolo dot carlini at oracle dot com 2008-09-03 12:08 ------- Also note: in your original message you have wrong the relevant bit:
> valarray::operator[](slice) const returns _Expr<_SClos<_ValArray,_Tp>, _Tp> > instead of slice_array<Tp>, ^^^^^^^^^^^^^^^ The return type, to which 26.3.1/3 applies, is valarray<T>, *not* slice_array<T>. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37347