libstdc++: Use named struct for __decay_copy

In r12-1486-gcb326a6442f09cb36b05ce556fc91e10bfeb0cf6 I changed
__decay_copy to be a function object of unnamed class type. This causes
problems when importing the library headers:

error: conflicting global module declaration 'constexpr const std::ranges::__cust_access::<unnamed struct> std::ranges::__cust_access::__decay_copy'

The fix is to use a named struct instead of an anonymous one.

Signed-off-by: Jonathan Wakely <jwakely@redhat.com>

libstdc++-v3/ChangeLog:

	* include/bits/iterator_concepts.h (__decay_copy): Name type.
This commit is contained in:
Jonathan Wakely 2021-06-16 12:47:32 +01:00
parent b9e35ee6d6
commit c25e3bf879

View File

@ -930,7 +930,8 @@ namespace ranges
{
using std::__detail::__class_or_enum;
struct {
struct _Decay_copy final
{
template<typename _Tp>
constexpr decay_t<_Tp>
operator()(_Tp&& __t) const