<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/113609>113609</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libc++][test] Non-rebindable `test_alloc` in string.capacity/deallocate_size.pass.cpp
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc++
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
StephanTLavavej
</td>
</tr>
</table>
<pre>
This `test_alloc` has a `rebind` struct, but not a rebinding constructor:
https://github.com/llvm/llvm-project/blob/564fd62aedfde6358baa1776a2de975b45bc7778/libcxx/test/std/strings/basic.string/string.capacity/deallocate_size.pass.cpp#L22-L46
This fails to meet the allocator requirements. MSVC's STL rejects this because we attempt to rebind the allocator (to an internal "container proxy" type).
I observe other requirement deficiencies here (no comparison operators) but the rebinding one is the specific problem for us.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUU0FvnDwQ_TXmMgqCAcNy4PAlK6RP2u-7JOo1GpvZxRFrU9tss_31ldm0SdtLK4ERY3h-b-Y9CsGcLHMv5L2Q-4zWODnfP0ZeJrJPB7rQhV8y5cZr_zSZAKIpIof4TPPstGgKmCgApbJnZeyYSiH6VUeBD6DWCNZFILjtGnsC7eztA-dF9Y8o9qJ4W6cYl5BqOAgcTiZOq8q1Owsc5vny_XG3ePfCCX9Qs1MCB9nUx7FB4vE4clPJnSIq27YhHLlrpaql0m3b7hKAUfr1VeCQRAgcQhy31Rt7CgmRgtH57f3HRq5pIW3iVeAw8qacIj8H85XzhULI9bIIrA6Id4e6-ahoa9mRzBwgOjgzR4gTwxuE8-D582o8n9nGkMN_j58eBLYBHp8O4DmpDBAThmJNa2D4wkAx8nmJCfDW1F8gBe6iA7JgbGRvaQaBqJ2NZCx7WLx7vQpEiNeFBXb5R77_glOB_YXBxYl_ogcjH402bLXhABN7TidZB9qdF_ImOAtuYZ84BIHdNvvE7H3yzjKYsBXDwtocjU501MxnODoPa8izsa_Gruoo475ssWs72XWYTb3kcYet3hVlXaoa26bqWo3Mla5lSWWTmR4LrMt072RVYl50ONaSVKekpLpuRF3wmcycJxPlzp8yE8LKfVlWTdFlMymew5YDxGQTgffbhSkXvt-sp9ZTEHUxmxDDO040cd4S9OE3uRfyfjOZ3MP_zt7d2kBq5t8zZCz8udOy1c_9X0dl05oc_ib30uO3AAAA___vbk9g">