https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121919

            Bug ID: 121919
           Summary: ranges::shuffle and ranges::sample assume a
                    uniform_random_bit_generator provides result_type
           Product: gcc
           Version: 15.2.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
  Target Milestone: ---

The std::uniform_random_bit_generator concept does not require a result_type
member, but we assume there is one:

        using __uc_type
          = common_type_t<typename remove_reference_t<_Gen>::result_type,
__ud_type>;

And also in uniform_int_distribution:

        typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;


We should use decltype(__g()) instead.

Full testcase to follow ...

Reply via email to