@@ -396,9 +396,9 @@ public:
396396 _LIBCPP_HIDE_FROM_ABI slice (size_t __start, size_t __size, size_t __stride)
397397 : __start_(__start), __size_(__size), __stride_(__stride) {}
398398
399- _LIBCPP_HIDE_FROM_ABI size_t start () const { return __start_; }
400- _LIBCPP_HIDE_FROM_ABI size_t size () const { return __size_; }
401- _LIBCPP_HIDE_FROM_ABI size_t stride () const { return __stride_; }
399+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_t start () const { return __start_; }
400+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_t size () const { return __size_; }
401+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_t stride () const { return __stride_; }
402402
403403# if _LIBCPP_STD_VER >= 20
404404
@@ -822,36 +822,41 @@ public:
822822 _LIBCPP_HIDE_FROM_ABI valarray& operator =(const __val_expr<_ValExpr>& __v);
823823
824824 // element access:
825- _LIBCPP_HIDE_FROM_ABI const value_type& operator [](size_t __i) const {
825+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const value_type& operator [](size_t __i) const {
826826 _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS (__i < size (), " valarray::operator[] index out of bounds" );
827827 return __begin_[__i];
828828 }
829829
830- _LIBCPP_HIDE_FROM_ABI value_type& operator [](size_t __i) {
830+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI value_type& operator [](size_t __i) {
831831 _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS (__i < size (), " valarray::operator[] index out of bounds" );
832832 return __begin_[__i];
833833 }
834834
835835 // subset operations:
836- _LIBCPP_HIDE_FROM_ABI __val_expr<__slice_expr<const valarray&> > operator [](slice __s) const ;
837- _LIBCPP_HIDE_FROM_ABI slice_array<value_type> operator [](slice __s);
838- _LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> > operator [](const gslice& __gs) const ;
839- _LIBCPP_HIDE_FROM_ABI gslice_array<value_type> operator [](const gslice& __gs);
836+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI __val_expr<__slice_expr<const valarray&> > operator [](slice __s) const ;
837+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI slice_array<value_type> operator [](slice __s);
838+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> >
839+ operator [](const gslice& __gs) const ;
840+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI gslice_array<value_type> operator [](const gslice& __gs);
840841# ifndef _LIBCPP_CXX03_LANG
841- _LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> > operator [](gslice&& __gs) const ;
842- _LIBCPP_HIDE_FROM_ABI gslice_array<value_type> operator [](gslice&& __gs);
842+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> > operator [](gslice&& __gs) const ;
843+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI gslice_array<value_type> operator [](gslice&& __gs);
843844# endif // _LIBCPP_CXX03_LANG
845+ [[__nodiscard__]]
844846 _LIBCPP_HIDE_FROM_ABI __val_expr<__mask_expr<const valarray&> > operator [](const valarray<bool >& __vb) const ;
845- _LIBCPP_HIDE_FROM_ABI mask_array<value_type> operator [](const valarray<bool >& __vb);
847+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI mask_array<value_type> operator [](const valarray<bool >& __vb);
846848# ifndef _LIBCPP_CXX03_LANG
849+ [[__nodiscard__]]
847850 _LIBCPP_HIDE_FROM_ABI __val_expr<__mask_expr<const valarray&> > operator [](valarray<bool >&& __vb) const ;
848- _LIBCPP_HIDE_FROM_ABI mask_array<value_type> operator [](valarray<bool >&& __vb);
851+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI mask_array<value_type> operator [](valarray<bool >&& __vb);
849852# endif // _LIBCPP_CXX03_LANG
853+ [[__nodiscard__]]
850854 _LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> > operator [](const valarray<size_t >& __vs) const ;
851- _LIBCPP_HIDE_FROM_ABI indirect_array<value_type> operator [](const valarray<size_t >& __vs);
855+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI indirect_array<value_type> operator [](const valarray<size_t >& __vs);
852856# ifndef _LIBCPP_CXX03_LANG
857+ [[__nodiscard__]]
853858 _LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> > operator [](valarray<size_t >&& __vs) const ;
854- _LIBCPP_HIDE_FROM_ABI indirect_array<value_type> operator [](valarray<size_t >&& __vs);
859+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI indirect_array<value_type> operator [](valarray<size_t >&& __vs);
855860# endif // _LIBCPP_CXX03_LANG
856861
857862 // unary operators:
@@ -905,16 +910,16 @@ public:
905910 // member functions:
906911 _LIBCPP_HIDE_FROM_ABI void swap (valarray& __v) _NOEXCEPT;
907912
908- _LIBCPP_HIDE_FROM_ABI size_t size () const { return static_cast <size_t >(__end_ - __begin_); }
913+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_t size () const { return static_cast <size_t >(__end_ - __begin_); }
909914
910- _LIBCPP_HIDE_FROM_ABI value_type sum () const ;
911- _LIBCPP_HIDE_FROM_ABI value_type min () const ;
912- _LIBCPP_HIDE_FROM_ABI value_type max () const ;
915+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI value_type sum () const ;
916+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI value_type min () const ;
917+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI value_type max () const ;
913918
914- valarray shift (int __i) const ;
915- valarray cshift (int __i) const ;
916- valarray apply (value_type __f (value_type)) const ;
917- valarray apply (value_type __f (const value_type&)) const ;
919+ [[__nodiscard__]] valarray shift (int __i) const ;
920+ [[__nodiscard__]] valarray cshift (int __i) const ;
921+ [[__nodiscard__]] valarray apply (value_type __f (value_type)) const ;
922+ [[__nodiscard__]] valarray apply (value_type __f (const value_type&)) const ;
918923 void resize (size_t __n, value_type __x = value_type());
919924
920925private:
@@ -1249,11 +1254,11 @@ public:
12491254
12501255# endif // _LIBCPP_CXX03_LANG
12511256
1252- _LIBCPP_HIDE_FROM_ABI size_t start () const { return __1d_.size () ? __1d_[0 ] : 0 ; }
1257+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_t start () const { return __1d_.size () ? __1d_[0 ] : 0 ; }
12531258
1254- _LIBCPP_HIDE_FROM_ABI valarray<size_t > size () const { return __size_; }
1259+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI valarray<size_t > size () const { return __size_; }
12551260
1256- _LIBCPP_HIDE_FROM_ABI valarray<size_t > stride () const { return __stride_; }
1261+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI valarray<size_t > stride () const { return __stride_; }
12571262
12581263private:
12591264 void __init (size_t __start);
@@ -3106,31 +3111,31 @@ operator>=(const typename _Expr::value_type& __x, const _Expr& __y) {
31063111}
31073112
31083113template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3109- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__abs_expr<typename _Expr::value_type>, _Expr> >
3114+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__abs_expr<typename _Expr::value_type>, _Expr> >
31103115abs (const _Expr& __x) {
31113116 typedef typename _Expr::value_type value_type;
31123117 typedef _UnaryOp<__abs_expr<value_type>, _Expr> _Op;
31133118 return __val_expr<_Op>(_Op (__abs_expr<value_type>(), __x));
31143119}
31153120
31163121template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3117- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__acos_expr<typename _Expr::value_type>, _Expr> >
3122+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__acos_expr<typename _Expr::value_type>, _Expr> >
31183123acos (const _Expr& __x) {
31193124 typedef typename _Expr::value_type value_type;
31203125 typedef _UnaryOp<__acos_expr<value_type>, _Expr> _Op;
31213126 return __val_expr<_Op>(_Op (__acos_expr<value_type>(), __x));
31223127}
31233128
31243129template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3125- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__asin_expr<typename _Expr::value_type>, _Expr> >
3130+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__asin_expr<typename _Expr::value_type>, _Expr> >
31263131asin (const _Expr& __x) {
31273132 typedef typename _Expr::value_type value_type;
31283133 typedef _UnaryOp<__asin_expr<value_type>, _Expr> _Op;
31293134 return __val_expr<_Op>(_Op (__asin_expr<value_type>(), __x));
31303135}
31313136
31323137template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3133- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__atan_expr<typename _Expr::value_type>, _Expr> >
3138+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__atan_expr<typename _Expr::value_type>, _Expr> >
31343139atan (const _Expr& __x) {
31353140 typedef typename _Expr::value_type value_type;
31363141 typedef _UnaryOp<__atan_expr<value_type>, _Expr> _Op;
@@ -3140,15 +3145,16 @@ atan(const _Expr& __x) {
31403145template <class _Expr1 ,
31413146 class _Expr2 ,
31423147 __enable_if_t <__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int > = 0 >
3143- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_BinaryOp<__atan2_expr<typename _Expr1::value_type>, _Expr1, _Expr2> >
3144- atan2 (const _Expr1& __x, const _Expr2& __y) {
3148+ [[__nodiscard__]] inline
3149+ _LIBCPP_HIDE_FROM_ABI __val_expr<_BinaryOp<__atan2_expr<typename _Expr1::value_type>, _Expr1, _Expr2> >
3150+ atan2 (const _Expr1& __x, const _Expr2& __y) {
31453151 typedef typename _Expr1::value_type value_type;
31463152 typedef _BinaryOp<__atan2_expr<value_type>, _Expr1, _Expr2> _Op;
31473153 return __val_expr<_Op>(_Op (__atan2_expr<value_type>(), __x, __y));
31483154}
31493155
31503156template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3151- inline _LIBCPP_HIDE_FROM_ABI
3157+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI
31523158__val_expr<_BinaryOp<__atan2_expr<typename _Expr::value_type>, _Expr, __scalar_expr<typename _Expr::value_type> > >
31533159atan2 (const _Expr& __x, const typename _Expr::value_type& __y) {
31543160 typedef typename _Expr::value_type value_type;
@@ -3157,7 +3163,7 @@ atan2(const _Expr& __x, const typename _Expr::value_type& __y) {
31573163}
31583164
31593165template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3160- inline _LIBCPP_HIDE_FROM_ABI
3166+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI
31613167__val_expr<_BinaryOp<__atan2_expr<typename _Expr::value_type>, __scalar_expr<typename _Expr::value_type>, _Expr> >
31623168atan2 (const typename _Expr::value_type& __x, const _Expr& __y) {
31633169 typedef typename _Expr::value_type value_type;
@@ -3166,39 +3172,39 @@ atan2(const typename _Expr::value_type& __x, const _Expr& __y) {
31663172}
31673173
31683174template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3169- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__cos_expr<typename _Expr::value_type>, _Expr> >
3175+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__cos_expr<typename _Expr::value_type>, _Expr> >
31703176cos (const _Expr& __x) {
31713177 typedef typename _Expr::value_type value_type;
31723178 typedef _UnaryOp<__cos_expr<value_type>, _Expr> _Op;
31733179 return __val_expr<_Op>(_Op (__cos_expr<value_type>(), __x));
31743180}
31753181
31763182template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3177- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__cosh_expr<typename _Expr::value_type>, _Expr> >
3183+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__cosh_expr<typename _Expr::value_type>, _Expr> >
31783184cosh (const _Expr& __x) {
31793185 typedef typename _Expr::value_type value_type;
31803186 typedef _UnaryOp<__cosh_expr<value_type>, _Expr> _Op;
31813187 return __val_expr<_Op>(_Op (__cosh_expr<value_type>(), __x));
31823188}
31833189
31843190template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3185- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__exp_expr<typename _Expr::value_type>, _Expr> >
3191+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__exp_expr<typename _Expr::value_type>, _Expr> >
31863192exp (const _Expr& __x) {
31873193 typedef typename _Expr::value_type value_type;
31883194 typedef _UnaryOp<__exp_expr<value_type>, _Expr> _Op;
31893195 return __val_expr<_Op>(_Op (__exp_expr<value_type>(), __x));
31903196}
31913197
31923198template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3193- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__log_expr<typename _Expr::value_type>, _Expr> >
3199+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__log_expr<typename _Expr::value_type>, _Expr> >
31943200log (const _Expr& __x) {
31953201 typedef typename _Expr::value_type value_type;
31963202 typedef _UnaryOp<__log_expr<value_type>, _Expr> _Op;
31973203 return __val_expr<_Op>(_Op (__log_expr<value_type>(), __x));
31983204}
31993205
32003206template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3201- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__log10_expr<typename _Expr::value_type>, _Expr> >
3207+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__log10_expr<typename _Expr::value_type>, _Expr> >
32023208log10 (const _Expr& __x) {
32033209 typedef typename _Expr::value_type value_type;
32043210 typedef _UnaryOp<__log10_expr<value_type>, _Expr> _Op;
@@ -3208,15 +3214,16 @@ log10(const _Expr& __x) {
32083214template <class _Expr1 ,
32093215 class _Expr2 ,
32103216 __enable_if_t <__is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value, int > = 0 >
3211- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_BinaryOp<__pow_expr<typename _Expr1::value_type>, _Expr1, _Expr2> >
3212- pow (const _Expr1& __x, const _Expr2& __y) {
3217+ [[__nodiscard__]] inline
3218+ _LIBCPP_HIDE_FROM_ABI __val_expr<_BinaryOp<__pow_expr<typename _Expr1::value_type>, _Expr1, _Expr2> >
3219+ pow (const _Expr1& __x, const _Expr2& __y) {
32133220 typedef typename _Expr1::value_type value_type;
32143221 typedef _BinaryOp<__pow_expr<value_type>, _Expr1, _Expr2> _Op;
32153222 return __val_expr<_Op>(_Op (__pow_expr<value_type>(), __x, __y));
32163223}
32173224
32183225template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3219- inline _LIBCPP_HIDE_FROM_ABI
3226+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI
32203227__val_expr<_BinaryOp<__pow_expr<typename _Expr::value_type>, _Expr, __scalar_expr<typename _Expr::value_type> > >
32213228pow (const _Expr& __x, const typename _Expr::value_type& __y) {
32223229 typedef typename _Expr::value_type value_type;
@@ -3225,7 +3232,7 @@ pow(const _Expr& __x, const typename _Expr::value_type& __y) {
32253232}
32263233
32273234template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3228- inline _LIBCPP_HIDE_FROM_ABI
3235+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI
32293236__val_expr<_BinaryOp<__pow_expr<typename _Expr::value_type>, __scalar_expr<typename _Expr::value_type>, _Expr> >
32303237pow (const typename _Expr::value_type& __x, const _Expr& __y) {
32313238 typedef typename _Expr::value_type value_type;
@@ -3234,62 +3241,62 @@ pow(const typename _Expr::value_type& __x, const _Expr& __y) {
32343241}
32353242
32363243template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3237- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__sin_expr<typename _Expr::value_type>, _Expr> >
3244+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__sin_expr<typename _Expr::value_type>, _Expr> >
32383245sin (const _Expr& __x) {
32393246 typedef typename _Expr::value_type value_type;
32403247 typedef _UnaryOp<__sin_expr<value_type>, _Expr> _Op;
32413248 return __val_expr<_Op>(_Op (__sin_expr<value_type>(), __x));
32423249}
32433250
32443251template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3245- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__sinh_expr<typename _Expr::value_type>, _Expr> >
3252+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__sinh_expr<typename _Expr::value_type>, _Expr> >
32463253sinh (const _Expr& __x) {
32473254 typedef typename _Expr::value_type value_type;
32483255 typedef _UnaryOp<__sinh_expr<value_type>, _Expr> _Op;
32493256 return __val_expr<_Op>(_Op (__sinh_expr<value_type>(), __x));
32503257}
32513258
32523259template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3253- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__sqrt_expr<typename _Expr::value_type>, _Expr> >
3260+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__sqrt_expr<typename _Expr::value_type>, _Expr> >
32543261sqrt (const _Expr& __x) {
32553262 typedef typename _Expr::value_type value_type;
32563263 typedef _UnaryOp<__sqrt_expr<value_type>, _Expr> _Op;
32573264 return __val_expr<_Op>(_Op (__sqrt_expr<value_type>(), __x));
32583265}
32593266
32603267template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3261- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__tan_expr<typename _Expr::value_type>, _Expr> >
3268+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__tan_expr<typename _Expr::value_type>, _Expr> >
32623269tan (const _Expr& __x) {
32633270 typedef typename _Expr::value_type value_type;
32643271 typedef _UnaryOp<__tan_expr<value_type>, _Expr> _Op;
32653272 return __val_expr<_Op>(_Op (__tan_expr<value_type>(), __x));
32663273}
32673274
32683275template <class _Expr , __enable_if_t <__is_val_expr<_Expr>::value, int > = 0 >
3269- inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__tanh_expr<typename _Expr::value_type>, _Expr> >
3276+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__tanh_expr<typename _Expr::value_type>, _Expr> >
32703277tanh (const _Expr& __x) {
32713278 typedef typename _Expr::value_type value_type;
32723279 typedef _UnaryOp<__tanh_expr<value_type>, _Expr> _Op;
32733280 return __val_expr<_Op>(_Op (__tanh_expr<value_type>(), __x));
32743281}
32753282
32763283template <class _Tp >
3277- inline _LIBCPP_HIDE_FROM_ABI _Tp* begin (valarray<_Tp>& __v) {
3284+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _Tp* begin (valarray<_Tp>& __v) {
32783285 return __v.__begin_ ;
32793286}
32803287
32813288template <class _Tp >
3282- inline _LIBCPP_HIDE_FROM_ABI const _Tp* begin (const valarray<_Tp>& __v) {
3289+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI const _Tp* begin (const valarray<_Tp>& __v) {
32833290 return __v.__begin_ ;
32843291}
32853292
32863293template <class _Tp >
3287- inline _LIBCPP_HIDE_FROM_ABI _Tp* end (valarray<_Tp>& __v) {
3294+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _Tp* end (valarray<_Tp>& __v) {
32883295 return __v.__end_ ;
32893296}
32903297
32913298template <class _Tp >
3292- inline _LIBCPP_HIDE_FROM_ABI const _Tp* end (const valarray<_Tp>& __v) {
3299+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI const _Tp* end (const valarray<_Tp>& __v) {
32933300 return __v.__end_ ;
32943301}
32953302
0 commit comments