Skip to content

Commit e159024

Browse files
committed
[libc++][valarray] Applied [[nodiscard]]
`[[nodiscard]]` should be applied to functions where discarding the return value is most likely a correctness issue. - https://libcxx.llvm.org/CodingGuidelines.html
1 parent 979462c commit e159024

File tree

2 files changed

+155
-52
lines changed

2 files changed

+155
-52
lines changed

libcxx/include/valarray

Lines changed: 59 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -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

920925
private:
@@ -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

12581263
private:
12591264
void __init(size_t __start);
@@ -3106,31 +3111,31 @@ operator>=(const typename _Expr::value_type& __x, const _Expr& __y) {
31063111
}
31073112

31083113
template <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> >
31103115
abs(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

31163121
template <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> >
31183123
acos(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

31243129
template <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> >
31263131
asin(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

31323137
template <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> >
31343139
atan(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) {
31403145
template <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

31503156
template <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> > >
31533159
atan2(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

31593165
template <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> >
31623168
atan2(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

31683174
template <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> >
31703176
cos(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

31763182
template <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> >
31783184
cosh(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

31843190
template <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> >
31863192
exp(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

31923198
template <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> >
31943200
log(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

32003206
template <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> >
32023208
log10(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) {
32083214
template <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

32183225
template <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> > >
32213228
pow(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

32273234
template <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> >
32303237
pow(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

32363243
template <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> >
32383245
sin(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

32443251
template <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> >
32463253
sinh(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

32523259
template <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> >
32543261
sqrt(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

32603267
template <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> >
32623269
tan(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

32683275
template <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> >
32703277
tanh(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

32763283
template <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

32813288
template <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

32863293
template <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

32913298
template <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

Comments
 (0)