<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/77773>77773</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libc++] does not define __cpp_lib_format
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc++
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
h-2
</td>
</tr>
</table>
<pre>
https://github.com/llvm/llvm-project/commit/dff62f5251f26db856124526ae1b335ddc1e892c
states that
> Some ``std::formatter`` specializations are not yet available since the class used in the specialization has not been implemented in libc++. This prevents the feature-test macro to be set.
Which specializations are that? I think it is unfortunate that the header is available for a while, but conforming code that relies on the macro cannot use it. Furthermore, `__cpp_lib_format_ranges` and `__cpp_lib_format_uchar` are set, which is weird, because they are features that build on `__cpp_lib_format` so implementations might even think that checking one of the former is sufficient, even though in this situation it is not?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVM1u8zYQfBr6soghUT-WDzokTQ303AI9GvxZmduPIg1ymSB9-kKUi6RFLt_FFqjd4ezMrFTOdAuIsxhexPB6UIVdTLN7kgcd7cfsmO9ZdM9CXoS83Ihd0UcTVyEv3r_9-_d0T_EvNCzkxcR1pe3BLssol0EO7SJHq6dhbGU_yFFhq7tusNa0OJ2lEc2raJ7338yKMQM7xV-PRfcrwO9xRRBjI8Yms90odc9LTKtixrSfQ76jIeXpb8UUQwaVEEJk-EAG9abIK-0RMgWDwA7BeJUzlIwWKNST_yKAU7kCaMQAtN49rhh4L_ekjZAvQr4c4Q9HGe4J3zBwrkALKi4Jnxgzw6pMisARNEJGPn4d7k9Hxn3LvMrQXeA3YEfhBxADZShhiYlLULxX1NscKotpe_055hITKHh35FHIX0AXBhO35pXCDUy0j_6EnjBD3AXYqRoVtrFLRiA-wqUkdpjWmCqUGJvr1dzvV0_6untwTSrcMG8mqGC_rSjGqVQLUlVhQ3qvw1OGd6RkK000aruWHX7UyoeQeypAF_J24_rNDTUB8dOmh5Qr3RzDZs1DxwpkHJofmxAxIMRl9yymdVcxl2UhQxgqy0dvLDe352SrIC57RnZbQty8Oti5s-furA44t6emP0_dNJ0Obm4mufR6tN1w7k1nFz2dpe5MP0qJTa_GA82ykX3Ttm3bd1NzOg7judUn1Z87OaHtJtE3uCryx23hjjHdDpRzwfl0Op26g1cafa5bLOVnMoWU21anuW6pLrcs-sZT5vwJw8S-7v-XtuEVbMQ9-xYXCgj_V_tQkv_5z0PlnIW8VNr_BAAA___OUIDq">