begin.cc:4:30: error: no match for call to ‘(const std::ranges::__cust_access::_Begin) (S&)’
    4 | auto x = std::ranges::begin(s);                                                     
      |                              ^                                                      
In file included from /home/patrick/code/gcc-master/libstdc++-v3/include/std/string:54,     
                 from /home/patrick/code/gcc-master/libstdc++-v3/include/bits/locale_classes.h:40,
                 from /home/patrick/code/gcc-master/libstdc++-v3/include/bits/ios_base.h:41,      
                 from /home/patrick/code/gcc-master/libstdc++-v3/include/std/streambuf:41,        
                 from /home/patrick/code/gcc-master/libstdc++-v3/include/bits/streambuf_iterator.h:35,
                 from /home/patrick/code/gcc-master/libstdc++-v3/include/std/iterator:66,             
                 from /home/patrick/code/gcc-master/libstdc++-v3/include/std/ranges:44,               
                 from begin.cc:1:                                                                     
/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:418:2: note: candidate: ‘constexpr auto std::ranges::__cust_access::_Begin::operator()(_Tp&&) const [with _Tp = S&]’
  418 |  operator()(_Tp&& __t) const noexcept(_S_noexcept<_Tp>())                                                                                                                          
      |  ^~~~~~~~                                                                                                                                                                          
/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:418:2: note: constraints not satisfied                                                                              
begin.cc: In instantiation of ‘constexpr auto std::ranges::__cust_access::_Begin::operator()(_Tp&&) const [with _Tp = S&]’:                                                                
begin.cc:4:30:   required from here                                                                                                                                                        
/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:418:2:   required by the constraints of ‘template<class _Tp>  requires (__maybe_borrowed_range<_Tp>) && ((is_array_v<typename std::remove_reference<_Tp>::type>) || (__member_begin<_Tp>) || (__adl_begin<_Tp>)) constexpr auto std::ranges::__cust_access::_Begin::operator()(_Tp&&) const/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:416:4: note: no operand of the disjunction is satisfied                                                                                                                                                                                                                                     
  415 |  requires is_array_v<remove_reference_t<_Tp>> || __member_begin<_Tp>                                                                                                                                                                                                                                                                                       
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                       
  416 |    || __adl_begin<_Tp>                                                                                                                                                                                                                                                                                                                                     
      |    ^~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                                     
/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:415:11: note: the operand ‘is_array_v<std::remove_reference_t<_Tp> >’ is unsatisfied because                                                                                                                                                                                                
  415 |  requires is_array_v<remove_reference_t<_Tp>> || __member_begin<_Tp>                                                                                                                                                                                                                                                                                       
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                       
  416 |    || __adl_begin<_Tp>                                                                                                                                                                                                                                                                                                                                     
      |    ~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                                     
/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:418:2:   required by the constraints of ‘template<class _Tp>  requires (__maybe_borrowed_range<_Tp>) && ((is_array_v<typename std::remove_reference<_Tp>::type>) || (__member_begin<_Tp>) || (__adl_begin<_Tp>)) constexpr auto std::ranges::__cust_access::_Begin::operator()(_Tp&&) const/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:415:11: note: the expression ‘is_array_v<typename std::remove_reference<_Tp>::type> [with _Tp = S&; _Tp = S&]’ evaluated to ‘false’                                                                                                                                                         
  415 |  requires is_array_v<remove_reference_t<_Tp>> || __member_begin<_Tp>                                                                                                                                                                                                                                                                                       
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                              
/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:415:50: note: the operand ‘__member_begin<_Tp>’ is unsatisfied because                                                                                                                                                                                                                      
  415 |  requires is_array_v<remove_reference_t<_Tp>> || __member_begin<_Tp>                                                                                                                                                                                                                                                                                       
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                       
  416 |    || __adl_begin<_Tp>                                                                                                                                                                                                                                                                                                                                     
      |    ~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                                     
/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:383:15:   required for the satisfaction of ‘__member_begin<S&>/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:383:32:   in requirements with ‘S& __t/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:385:18: note: the required expression ‘std::ranges::__cust_access::__decay_copy(__t.begin())’ is invalid, because                                                                                                                                                                           
  385 |    { __decay_copy(__t.begin()) } -> input_or_output_iterator;                                                                                                                                                                                                                                                                                              
      |      ~~~~~~~~~~~~^~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                             
/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:385:23: error: struct S’ has no member named ‘begin’                                                                                                                                                                                                                                       
  385 |    { __decay_copy(__t.begin()) } -> input_or_output_iterator;                                                                                                                                                                                                                                                                                              
      |                   ~~~~^~~~~                                                                                                                                                                                                                                                                                                                                
/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:416:7: note: the operand ‘__adl_begin<_Tp>’ is unsatisfied because                                                                                                                                                                                                                          
  415 |  requires is_array_v<remove_reference_t<_Tp>> || __member_begin<_Tp>                                                                                                                                                                                                                                                                                       
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                       
  416 |    || __adl_begin<_Tp>                                                                                                                                                                                                                                                                                                                                     
      |    ~~~^~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                                     
/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:392:15:   required for the satisfaction of ‘__adl_begin<S&>/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:393:5:   in requirements with ‘S& __t/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:395:18: note: the required expression ‘std::ranges::__cust_access::__decay_copy(std::ranges::__cust_access::begin(__t))’ is invalid, because                                                                                                                                                
  395 |    { __decay_copy(begin(__t)) } -> input_or_output_iterator;                                                                                                                                                                                                                                                                                               
      |      ~~~~~~~~~~~~^~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                              
/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:395:24: error: use of deleted function ‘void std::ranges::__cust_access::begin(auto:1&) [with auto:1 = S]’                                                                                                                                                                                  
  395 |    { __decay_copy(begin(__t)) } -> input_or_output_iterator;                                                                                                                                                                                                                                                                                               
      |                   ~~~~~^~~~~                                                                                                                                                                                                                                                                                                                               
/home/patrick/code/gcc-master/libstdc++-v3/include/bits/range_access.h:388:10: note: declared here                                                                                                                                                                                                                                                                 
  388 |     void begin(auto&) = delete;                                                                                                                                                                                                                                                                                                                            
      |          ^~~~~