|
11 | 11 | // This test uses iterator types from std::filesystem
|
12 | 12 | // XFAIL: availability-filesystem-missing
|
13 | 13 |
|
14 |
| -// std::same_as<typename Traits::difference_type, DiffType> failed. |
15 |
| -// The former was long and the latter was long long. |
16 |
| -// Possibly related to "using streamoff = long int" in ios.h. |
17 |
| -// XFAIL: LIBCXX-PICOLIBC-FIXME |
18 |
| - |
19 | 14 | // template<class T>
|
20 | 15 | // struct iterator_traits;
|
21 | 16 |
|
@@ -152,8 +147,13 @@ static_assert(testIOIterator<std::insert_iterator<std::vector<int>>, std::output
|
152 | 147 | static_assert(testConst<std::istream_iterator<int, char>, std::input_iterator_tag, int>());
|
153 | 148 |
|
154 | 149 | #if !defined(TEST_HAS_NO_LOCALIZATION)
|
155 |
| -// libc++-specific since pointer type is unspecified: |
156 |
| -LIBCPP_STATIC_ASSERT(test<std::istreambuf_iterator<char>, std::input_iterator_tag, char, long long, char, char*>()); |
| 150 | +// We use std::istreambuf_iterator<char>::pointer because it's unspecified, it doesn't have to be char* |
| 151 | +static_assert(test<std::istreambuf_iterator<char>, |
| 152 | + std::input_iterator_tag, |
| 153 | + char, |
| 154 | + std::streamoff, |
| 155 | + char, |
| 156 | + std::istreambuf_iterator<char>::pointer>()); |
157 | 157 | static_assert(test<std::move_iterator<int*>, std::random_access_iterator_tag, int, std::ptrdiff_t, int&&, int*>());
|
158 | 158 | static_assert(testIOIterator<std::ostream_iterator<int, char>, std::output_iterator_tag>());
|
159 | 159 | static_assert(testIOIterator<std::ostreambuf_iterator<int, char>, std::output_iterator_tag>());
|
|
0 commit comments