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

    <tr>
        <th>Summary</th>
        <td>
            bugprone-unchecked-optional-access should support user-configurable std::optional-like classes
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            enhancement,
            clang-tidy,
            code-quality,
            clang:dataflow
      </td>
    </tr>

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

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

<pre>
    Currently, the check hardcodes the following names for accepted `std::optional`-like classes:
- `std::optional`
- `absl::Optional`
- `base::optional`

Recently, a [patch](https://reviews.llvm.org/D155890) is adding support for yet another project - `folly::optional`. 

It would be good to not hardcode these project-specific names inside the source code, and instead make this user-configurable.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0ks2OqzgQhZ_GbCwipwg_WbBIdxRpViPNGxR2AZ52bK7L7ij36a-g_9W3NyD5lOHUdw4y28kT9aJ-EPW5wJzmEHuN0QWe0D3T76UYgrn3jzlG8sndBTzKNJPUM-knOWM0Ohji7WwMzoWb9ZP0eCWWY4gStaYlkZGiUZyMqE6iOoUl2eDRiUaVzj6R1A6ZiVdVnYU6lT-Nf5JxYPei__tXfUCmH-6_PP8j_b4SSlE_LJj0LOqzgG5OadnswEXAJdKzpRvvnHu-7kKcBFzO-7rujkrAUVqWaMy6NudlCTFti98pSfQhzRTlEsP_pJPcfK2U7t-M7eRna_8keQvZGTmQnEIwMgXpQ3rnveJmevtuyQtpO1r9yt16ti8zkkOOmuR6Z1vTm1VNhEZe8WmdsSwzUyx18KOdcsTB0a4wfWWO1REL6vfNUalaQdcUc193-67ejwTUVnhszTC2A3QG1QHautNQ2B4UVKoF2HdwODQ7bfb7GttRN5WmQbXioOiK1r3DLCxzpr45qKotHA7keOsjAPkZvaYr-SQABDwKAO3QT2Wy5v5xFAyVvzI6m-5f50R1MphwdOG2CvW5iP3623LIE4uDcpbTR6pFsslRP-RpicFTmf1WcjLlW07l2mZmyfMWzlvc3_jJb9X9UvMiR9d_bdhk05yHnQ5XAZfV0OurfI1YwGXDxAIuG6k_AQAA__8EEDd5">