gcc/libstdc++-v3/testsuite/24_iterators
Jonathan Wakely 186aa63045 libstdc++: Fix std::indirectly_readable ambiguity [LWG 3446]
This implements the proposed resolution of LWG 3446. I'm also adding
another new constrained specialization which isn't proposed by 3446, to
resolve the ambiguity when a type has both value_type and element_type
but denoting different types.

libstdc++-v3/ChangeLog:

	* include/bits/iterator_concepts.h (indirectly_readable): Add
	partial specializations to resolve ambiguities (LWG 3446).
	* testsuite/24_iterators/associated_types/readable.traits.cc:
	Check types with both value_type and element_type.
2020-08-24 16:18:31 +01:00
..
associated_types libstdc++: Fix std::indirectly_readable ambiguity [LWG 3446] 2020-08-24 16:18:31 +01:00
back_insert_iterator libstdc++: Implement C++20 changes to insert iterators 2020-03-27 23:26:01 +00:00
bidirectional Update copyright years. 2020-01-01 12:51:42 +01:00
common_iterator libstdc++: Fix common_iterator::operator-> [PR95322] 2020-05-26 16:17:34 -04:00
contiguous Update copyright years. 2020-01-01 12:51:42 +01:00
counted_iterator libstdc++: Add a move-only testsuite iterator type 2020-03-03 22:44:35 -05:00
customization_points libstdc++: Avoid constraint recursion with iterator_traits (PR 93983) 2020-05-21 07:32:15 +01:00
forward Update copyright years. 2020-01-01 12:51:42 +01:00
front_insert_iterator libstdc++: Implement C++20 changes to insert iterators 2020-03-27 23:26:01 +00:00
headers/iterator libstdc++: Ensure c++NN effective-target present in more tests 2020-07-31 19:58:03 +01:00
indirect_callable libstdc++: Replace deduced return type in ranges::iter_move (PR 92894) 2020-05-01 14:27:25 +01:00
input Update copyright years. 2020-01-01 12:51:42 +01:00
insert_iterator libstdc++: Implement LWG 561 for std::inserter 2020-08-10 12:09:59 +01:00
istream_iterator libstdc++: Fix noexcept-specifier for istream_iterator 2020-02-24 14:22:21 +00:00
istreambuf_iterator libstdc++: Add test for using istreambuf_iterator with sentinel 2020-04-20 22:06:32 +01:00
move_iterator libstdc++: Constrain reverse_iterator and move_iterator conversions [LWG 3435] 2020-07-22 15:10:29 +01:00
normal_iterator libstdc++: Fix __normal_iterator comparisons for C++20 2020-04-21 23:46:54 +01:00
operations Update copyright years. 2020-01-01 12:51:42 +01:00
ostream_iterator libstdc++: Change compile-only test to run 2020-03-10 09:47:15 +00:00
ostreambuf_iterator Update copyright years. 2020-01-01 12:51:42 +01:00
output Update copyright years. 2020-01-01 12:51:42 +01:00
random_access Update copyright years. 2020-01-01 12:51:42 +01:00
range_access Update copyright years. 2020-01-01 12:51:42 +01:00
range_operations libstdc++: test for failing assertion should use 'run' not 'compile' 2020-02-28 18:41:18 +00:00
reverse_iterator libstdc++: Constrain reverse_iterator and move_iterator conversions [LWG 3435] 2020-07-22 15:10:29 +01:00
aliases.cc libstdc++: Remove workarounds for constraints on alias templates 2020-02-05 15:09:23 +00:00
container_access.cc Update copyright years. 2020-01-01 12:51:42 +01:00