http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57666
--- Comment #3 from thunderliu at gmail dot com --- Sorry I missed that. But the remaining (which is the point of this bug) still stands. (In reply to Jonathan Wakely from comment #2) > (In reply to thunderliu from comment #0) > > Non-member operators for valarray<> returns instance of _Expr<> (lazy > > evaluation?), instead of another valarray<>. This is non-conforming but > > probably not a bug. > > 26.6.1 [valarray.syn]/3 "Any function returning a valarray<T> is permitted > to return an object of another type, provided all the const member functions > of valarray<T> are also applicable to this type."