<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/55601>55601</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Clang reporting multiple consteval usage violations, violations do not appear to be violations?
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          mattreecebentley
      </td>
    </tr>
</table>

<pre>
    Clang is reporting consteval usage violations with the latest version of plf::hive and it's test suite [here](https://github.com/mattreecebentley/plf_hive),
output via godbolt [here](https://godbolt.org/z/Th496Gb1P).

Primarily it appears to be objecting to the use of consteval functions in
(a) class constructor member initialization ("cannot take address of consteval function 'default_min_block_capacity' outside of an immediate invocation") 
(b) class constructor member initialization default values ("call to consteval function 'plf::hive::default_block_capacity_limits' is not a constant expression")
(c) in assignment to constexpr variables ("call to consteval function 'plf::hive::block_capacity_hard_limits' is not a constant expression")

GCC11 and MSVC 2022 do not see these bugs. If they are bugs on my end, I would like to understand them, as the function return values are always computable at compile-time.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJydVEtv2zAM_jXOhWjgOHHjHHzoUrToYUCBDbsGtMXEXGXJkORk6a8fZadJW3QFVsBxTImPjx8flVXHcq3R7IA9OOqsCyxCbY0PtEcNvccdwZ6txsByCgcODYSGQA7IB9iT83IBdgud3ibzG3ka3hOgUcAhyZYeBkXfcyBI8m8NOUry2yQrmhA6H02yO3l24rmvprVtRWgxBEdUU0UmaDrKkbjfRM9JtkqydZLeJumN7UPXCwhG2FlVWR0-jTCqTK3bifQsv5_NYnV9X80exel0dDm-Hx236FgfJQfAriN0koeFisBWv6keaBI5MtF7iulfSNv2ph7ZYnNymhUoIaDW6P2o6fo6WActtRU5UeTAqPl5oBlEP8myGo2xAQI-CZ1KORLbDwOJ_lLRFnsdNi2bTaVt_bSpscOag3C3BCHKsxpwogFuW1IsBZS4e1sPMSVeRHjGW_0P3lNwEFA9-TN8rSNHH-N90y3j10sKb-FvNLccfMxCmjQSgqNLNAHoTxdpOeM_w68jfDYg-HlnWumiCxSxEaSOsdJfB_sOZINOfQXp8L5fr2ezYWK-__i1hizNMlB28OCJYpNJi1X9zk_hYRvFI6AbT0AAtkcgo2Qo4AEOttcKNEvLSDa9UTKfIXoWqzaqoB-a9pydo9A781K56Bb1AY-x6q3MVuQIMAwSa7oK3NJ0osq5Ws1XOAks03laIZf90UoVuRPDfy-SCOXVWjllO07aadBeKc_vJr3T5ScLQ-v9y99V52wcURHZe8lKPvL8Op1NmnI5n82LVZUWi2K5xLxQmG_zRYrVgnClqnqisSLtS9kiUiZDBxhcxJLltxMuY2nSPEvT2ayYZ1OsC-FhWazSJW1X9XWySKlF1tOII-6ZiSsHSLFUcqnZB3-5HJuTaAgn_rEPjXXl--U3GTCUQw5_AS1s8eE">