Skip to content

Commit a63abbb

Browse files
authored
Merge pull request #3368 from eseiler/fix/gcc-16
[FIX] C++26: std::optional is a view
2 parents 74a7ed6 + 616123c commit a63abbb

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

include/seqan3/core/debug_stream/default_printer.hpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -200,16 +200,18 @@ struct default_printer :
200200
cigar_printer, // type seqan3::cigar
201201
// NOTE: alphabet_printer needs the integral_printer overload, otherwise it might have infinite recursion due to
202202
// char and uint being an alphabet
203-
alphabet_printer, // concept seqan3::alphabet
204-
sam_flag_printer, // type seqan3::sam_flag
205-
simd_printer, // concept simd::simd_concept<>
206-
dynamic_bitset_printer, // type seqan3::dynamic_bitset<>
203+
alphabet_printer, // concept seqan3::alphabet
204+
sam_flag_printer, // type seqan3::sam_flag
205+
simd_printer, // concept simd::simd_concept<>
206+
dynamic_bitset_printer, // type seqan3::dynamic_bitset<>
207+
// NOTE: In C++26, std::optional<T> is a view (and hence models std::ranges::input_range<>).
208+
// So it needs to have priority over char_sequence_printer, integer_sequence_printer, and input_range_printer.
209+
optional_printer, // type std::optional<> or std::nullopt_t
207210
char_sequence_printer, // concept std::range::input_range<> with char value_type
208211
integer_sequence_printer, // concept std::range::input_range<> with std::integral value_type
209212
sequence_printer, // concept seqan3::sequence<>, i.e. std::range::input_range<> with seqan3::alphabet value_type
210213
input_range_printer, // concept std::range::input_range<>
211214
strong_type_printer, // concept seqan3::detail::derived_from_strong_type<>
212-
optional_printer, // type std::optional<> or std::nullopt_t
213215
enumeration_printer, // types for which seqan3::enumeration_names is overloaded
214216
tuple_printer, // concept seqan3::tuple_like<>
215217
std_byte_printer, // type std::byte

0 commit comments

Comments
 (0)