Skip to content

Commit 7c41f62

Browse files
committed
Tests: WIP retry CI
1 parent cdce763 commit 7c41f62

File tree

3 files changed

+13
-139
lines changed

3 files changed

+13
-139
lines changed

libcxx/include/spanstream

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
#include <__utility/move.h>
6767
#include <__utility/swap.h>
6868
#include <iostream>
69-
#include <print>
69+
// #include <print>
7070
#include <span>
7171
#include <streambuf>
7272
#include <version>
@@ -267,14 +267,14 @@ public:
267267
requires(!convertible_to<_ROSeq, std::span<_CharT>>) && convertible_to<_ROSeq, std::span<const _CharT>>
268268
_LIBCPP_HIDE_FROM_ABI explicit basic_ispanstream(_ROSeq&& __s)
269269
: basic_istream<_CharT, _Traits>(std::addressof(__sb_)) {
270-
std::println(stderr, "ispanstream");
270+
// std::println(stderr, "ispanstream");
271271
std::span<const _CharT> __sp(std::forward<_ROSeq>(__s));
272-
std::println(stderr, "span __sb_ {} {}", __sb_.span().empty(), __sb_.span().size());
273-
std::println(stderr, "span data {} {}", __sp.empty(), __sp.size());
274-
std::println(stderr, "ispanstream 2");
272+
// std::println(stderr, "span __sb_ {} {}", __sb_.span().empty(), __sb_.span().size());
273+
// std::println(stderr, "span data {} {}", __sp.empty(), __sp.size());
274+
// std::println(stderr, "ispanstream 2");
275275
this->span(std::span<_CharT>(std::span<_CharT>(const_cast<_CharT*>(__sp.data()), __sp.size())));
276-
std::println(stderr, "span __sb_ {} {}", __sb_.span().empty(), __sb_.span().size());
277-
std::println(stderr, "ispanstream 3");
276+
// std::println(stderr, "span __sb_ {} {}", __sb_.span().empty(), __sb_.span().size());
277+
// std::println(stderr, "ispanstream 3");
278278
}
279279

280280
basic_ispanstream& operator=(const basic_ispanstream&) = delete;

libcxx/test/std/input.output/span.streams/helper_types.h

Lines changed: 4 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
#include "test_macros.h"
1818

19-
#include <print>
19+
// #include <print>
2020

2121
template <typename CharT, std::size_t N = 0>
2222
class ReadOnlySpan {
@@ -26,16 +26,16 @@ class ReadOnlySpan {
2626
operator std::span<CharT>() = delete;
2727

2828
operator std::span<const CharT>() {
29-
std::println(stderr, "----> ROspan");
29+
// std::println(stderr, "----> ROspan");
3030
return std::span<const CharT, N>{arr_};
3131
}
3232

3333
const CharT* begin() {
34-
std::println(stderr, "----> ROspan begin");
34+
// std::println(stderr, "----> ROspan begin");
3535
return arr_;
3636
}
3737
const CharT* end() {
38-
std::println(stderr, "----> ROspan end");
38+
// std::println(stderr, "----> ROspan end");
3939
return arr_ + N;
4040
}
4141

@@ -126,109 +126,6 @@ static_assert(!std::constructible_from<std::span<const wchar_t>, const NonReadOn
126126
static_assert(!std::convertible_to<const NonReadOnlySpan<wchar_t>, std::span<const wchar_t>>);
127127
#endif
128128

129-
template <typename CharT, std::size_t N = 0>
130-
class ConstConvertibleReadOnlySpan {
131-
explicit ConstConvertibleReadOnlySpan(CharT (&arr)[N]) : arr_{arr} {}
132-
133-
public:
134-
operator std::span<CharT>() = delete;
135-
operator std::span<CharT>() const = delete;
136-
137-
operator std::span<const CharT>() = delete;
138-
operator std::span<const CharT>() const { return std::span<const CharT, N>{arr_}; }
139-
140-
const CharT* begin() { return arr_; }
141-
const CharT* end() { return arr_ + N; }
142-
143-
private:
144-
CharT* arr_;
145-
};
146-
147-
template <typename CharT, std::size_t N>
148-
inline constexpr bool std::ranges::enable_borrowed_range<ConstConvertibleReadOnlySpan<CharT, N>> = true;
149-
150-
static_assert(std::ranges::borrowed_range<ConstConvertibleReadOnlySpan<char>>);
151-
152-
static_assert(!std::constructible_from<std::span<char>, ConstConvertibleReadOnlySpan<char>>);
153-
static_assert(!std::convertible_to<ConstConvertibleReadOnlySpan<char>, std::span<char>>);
154-
155-
static_assert(!std::constructible_from<std::span<char>, const ConstConvertibleReadOnlySpan<char>>);
156-
static_assert(!std::convertible_to<const ConstConvertibleReadOnlySpan<char>, std::span<char>>);
157-
158-
static_assert(std::constructible_from<std::span<const char>, ConstConvertibleReadOnlySpan<char>>);
159-
static_assert(!std::convertible_to<ConstConvertibleReadOnlySpan<char>, std::span<const char>>);
160-
161-
static_assert(std::constructible_from<std::span<const char>, const ConstConvertibleReadOnlySpan<char>>);
162-
static_assert(std::convertible_to<const ConstConvertibleReadOnlySpan<char>, std::span<const char>>);
163-
164-
#ifndef TEST_HAS_NO_WIDE_CHARACTERS
165-
166-
static_assert(std::ranges::borrowed_range<ConstConvertibleReadOnlySpan<wchar_t>>);
167-
168-
static_assert(!std::constructible_from<std::span<wchar_t>, ConstConvertibleReadOnlySpan<wchar_t>>);
169-
static_assert(!std::convertible_to<ConstConvertibleReadOnlySpan<wchar_t>, std::span<wchar_t>>);
170-
171-
static_assert(!std::constructible_from<std::span<wchar_t>, const ConstConvertibleReadOnlySpan<wchar_t>>);
172-
static_assert(!std::convertible_to<const ConstConvertibleReadOnlySpan<wchar_t>, std::span<wchar_t>>);
173-
174-
static_assert(std::constructible_from<std::span<const wchar_t>, ConstConvertibleReadOnlySpan<wchar_t>>);
175-
static_assert(!std::convertible_to<ConstConvertibleReadOnlySpan<wchar_t>, std::span<const wchar_t>>);
176-
177-
static_assert(std::constructible_from<std::span<const wchar_t>, const ConstConvertibleReadOnlySpan<wchar_t>>);
178-
static_assert(std::convertible_to<const ConstConvertibleReadOnlySpan<wchar_t>, std::span<const wchar_t>>);
179-
#endif
180-
181-
template <typename CharT, std::size_t N = 0>
182-
class NonConstConvertibleReadOnlySpan {
183-
explicit NonConstConvertibleReadOnlySpan(CharT (&arr)[N]) : arr_{arr} {}
184-
185-
public:
186-
operator std::span<CharT>() = delete;
187-
operator std::span<CharT>() const = delete;
188-
189-
operator std::span<const CharT>() { return std::span<const CharT, N>{arr_}; }
190-
operator std::span<const CharT>() const = delete;
191-
192-
const CharT* begin() { return arr_; }
193-
const CharT* end() { return arr_ + N; }
194-
195-
private:
196-
CharT* arr_;
197-
};
198-
199-
template <typename CharT, std::size_t N>
200-
inline constexpr bool std::ranges::enable_borrowed_range<NonConstConvertibleReadOnlySpan<CharT, N>> = true;
201-
202-
static_assert(std::ranges::borrowed_range<NonConstConvertibleReadOnlySpan<char>>);
203-
204-
static_assert(!std::constructible_from<std::span<char>, NonConstConvertibleReadOnlySpan<char>>);
205-
static_assert(!std::convertible_to<NonConstConvertibleReadOnlySpan<char>, std::span<char>>);
206-
207-
static_assert(!std::constructible_from<std::span<char>, const NonConstConvertibleReadOnlySpan<char>>);
208-
static_assert(!std::convertible_to<const NonConstConvertibleReadOnlySpan<char>, std::span<char>>);
209-
210-
static_assert(std::constructible_from<std::span<const char>, NonConstConvertibleReadOnlySpan<char>>);
211-
static_assert(std::convertible_to<NonConstConvertibleReadOnlySpan<char>, std::span<const char>>);
212-
213-
static_assert(!std::constructible_from<std::span<const char>, const NonConstConvertibleReadOnlySpan<char>>);
214-
static_assert(!std::convertible_to<const NonConstConvertibleReadOnlySpan<char>, std::span<const char>>);
215-
216-
#ifndef TEST_HAS_NO_WIDE_CHARACTERS
217-
static_assert(std::ranges::borrowed_range<NonConstConvertibleReadOnlySpan<wchar_t>>);
218-
219-
static_assert(!std::constructible_from<std::span<wchar_t>, NonConstConvertibleReadOnlySpan<wchar_t>>);
220-
static_assert(!std::convertible_to<NonConstConvertibleReadOnlySpan<wchar_t>, std::span<wchar_t>>);
221-
222-
static_assert(!std::constructible_from<std::span<wchar_t>, const NonConstConvertibleReadOnlySpan<wchar_t>>);
223-
static_assert(!std::convertible_to<const NonConstConvertibleReadOnlySpan<wchar_t>, std::span<wchar_t>>);
224-
225-
static_assert(std::constructible_from<std::span<const wchar_t>, NonConstConvertibleReadOnlySpan<wchar_t>>);
226-
static_assert(std::convertible_to<NonConstConvertibleReadOnlySpan<wchar_t>, std::span<const wchar_t>>);
227-
228-
static_assert(!std::constructible_from<std::span<const wchar_t>, const NonConstConvertibleReadOnlySpan<wchar_t>>);
229-
static_assert(!std::convertible_to<const NonConstConvertibleReadOnlySpan<wchar_t>, std::span<const wchar_t>>);
230-
#endif
231-
232129
struct SomeObject {};
233130

234131
struct NonMode {};

libcxx/test/std/input.output/span.streams/ispanstream/ispanstream.cons/ros.pass.cpp

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -29,28 +29,6 @@
2929

3030
#include "../../helper_types.h"
3131

32-
#ifndef TEST_HAS_NO_NASTY_STRING
33-
void test_sfinae_with_nasty_char() {
34-
using SpStream = std::basic_ispanstream<nasty_char, nasty_char_traits>;
35-
36-
// Non-const convertible
37-
static_assert(std::constructible_from<SpStream, ReadOnlySpan<nasty_char>>);
38-
static_assert(!test_convertible<SpStream, ReadOnlySpan<nasty_char>>());
39-
40-
// Const convertible
41-
static_assert(!std::constructible_from<SpStream, const ReadOnlySpan<nasty_char>>);
42-
static_assert(!test_convertible<SpStream, const ReadOnlySpan<nasty_char>>());
43-
44-
// Non-const non-convertible
45-
static_assert(std::constructible_from<SpStream, ReadOnlySpan<nasty_char>>);
46-
static_assert(!test_convertible<SpStream, ReadOnlySpan<nasty_char>>());
47-
48-
// Const non-convertible
49-
static_assert(!std::constructible_from<SpStream, const ReadOnlySpan<nasty_char>>);
50-
static_assert(!test_convertible<SpStream, const ReadOnlySpan<nasty_char>>());
51-
}
52-
#endif // TEST_HAS_NO_NASTY_STRING
53-
5432
template <typename CharT, typename TraitsT = std::char_traits<CharT>>
5533
void test_sfinae() {
5634
using SpStream =
@@ -95,7 +73,7 @@ void test() {
9573

9674
{
9775
SpStream spSt(ros2);
98-
assert(spSt.span().data() == arr);
76+
assert(spSt.span().data() != arr);
9977
assert(spSt.span().data() == arr1);
10078
assert(spSt.span().empty());
10179
assert(spSt.span().size() == 0);
@@ -104,8 +82,7 @@ void test() {
10482

10583
int main(int, char**) {
10684
#ifndef TEST_HAS_NO_NASTY_STRING
107-
// test_sfinae<nasty_char, nasty_char_traits>();
108-
test_sfinae_with_nasty_char();
85+
test_sfinae<nasty_char, nasty_char_traits>();
10986
#endif
11087
test_sfinae<char>();
11188
test_sfinae<char, constexpr_char_traits<char>>();

0 commit comments

Comments
 (0)