<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/121308>121308</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Remove clangd's HasValue GMock matcher
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clangd
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
HighCommander4
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
HighCommander4
</td>
</tr>
</table>
<pre>
Clangd's support library defines a GMock matcher called [`HasValue`](https://searchfox.org/llvm/rev/7144325109353f9153780f93ec5a8fee8fdc0927/clang-tools-extra/clangd/unittests/Matchers.h#194) for matching `std::optional` (or `llvm::Optional` at the time of its introduction).
GMock has since added an equivalent matcher of its own called `Optional`, which we can use instead.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxUks1u7CgQhZ-mvEFp4QK3zcKLnkSebKKRZjF7DEWbuRj6Au4kb3_lzv_Wx1R9OvXpUvw5Eo3Q_QWIj_683Kd11dFSloAI3UOjt7qkPP7MmjnZ1_E-6Hi2gH1hZbtcUq4s-Dnr_MosOR-pMM3-fkrmF1t1NQtlZnQIZNm-78gfdflPh43gyKF7AByWWi8FxAlwApwK6WwWl14OKZ8BpxCuK-CU6Qo49a2UAruWK9EJp9pO9AN3SpDp9OCIBmcNV9gDTmbHvKsphXJHLzXrj28WcNqir5VKLYDT0xtkOSyAolUSUDGX8hu8j2cGR16q3QHFKV2qT1EHOHIGOKS8pzfEW_zPt1hXVhdi1a_EkmO-FuZjzcluZv8JUB2An4Cf3rpadGHFR0NMW0uW6cjo9-avOlCsn02-D0rP8bPUI_-2FfCePS_eLOyZmNGRbYWYj6WStofGjsIqoXRDY9uLrmuVHLpmGYUeFIqjk24Qc6usdajsbHqnXY9aiMaPyFG2KDjnUsruIA13QkmaxSyPNPcgOa3ah8PexX65xpey0dhiK_jQBD1TKO_CfVzhJloe9xd383YuIHnwpZavGdXXQOO_tKYrMfPl3YdCPzVrthzGnzKdfV22-WDS-mXSbd8lp__JVMDpxrl78I56HfFPAAAA__-46wGx">