@@ -259,14 +259,13 @@ struct TestRandomAccessIterator {
259
259
using iterator_category = std::random_access_iterator_tag;
260
260
};
261
261
262
- static_assert (
263
- !std::is_constructible<ArrayRef<int >,
264
- iterator_range<TestRandomAccessIterator>>::value,
265
- " cannot construct from iterator range with non-pointer iterator" );
266
- static_assert (!std::is_constructible<ArrayRef<int >, iterator_range<int >>::value,
262
+ static_assert (!std::is_constructible_v<
263
+ ArrayRef<int >, iterator_range<TestRandomAccessIterator>>,
264
+ " cannot construct from iterator range with non-pointer iterator" );
265
+ static_assert (!std::is_constructible_v<ArrayRef<int >, iterator_range<int >>,
267
266
" cannot construct from iterator range with non-pointer iterator" );
268
267
static_assert (
269
- std::is_constructible <ArrayRef<char *>, iterator_range<char **>>::value ,
268
+ std::is_constructible_v <ArrayRef<char *>, iterator_range<char **>>,
270
269
" should be able to construct ArrayRef from iterator_range over pointers" );
271
270
272
271
TEST (ArrayRefTest, ArrayRefFromIteratorRange) {
@@ -276,6 +275,11 @@ TEST(ArrayRefTest, ArrayRefFromIteratorRange) {
276
275
EXPECT_EQ (A1.size (), A2.size ());
277
276
for (std::size_t i = 0 ; i < A1.size (); ++i)
278
277
EXPECT_EQ (A1[i], A2[i]);
278
+
279
+ ArrayRef<const int > A3 = make_range (A1.begin (), A1.end ());
280
+ EXPECT_EQ (A1.size (), A3.size ());
281
+ for (std::size_t i = 0 ; i < A1.size (); ++i)
282
+ EXPECT_EQ (A1[i], A3[i]);
279
283
}
280
284
281
285
TEST (ArrayRefTest, ArrayRefFromIteratorConstRange) {
0 commit comments