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

    <tr>
        <th>Summary</th>
        <td>
            [libc++] `vprint_[non]unicode(ostream &, string_view, Args&&...)` should not pad the output
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            libc++
      </td>
    </tr>

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

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

<pre>
    The current implementation of `vprint_[non]unicode` pads the output based on the stream's width setting:

https://github.com/llvm/llvm-project/blob/a33ae1b7df82d7d714156ad050c0b99545fad497/libcxx/include/__ostream/print.h#L59-L66

[\[ostream.formatted.reqmts\]/3](https://eel.is/c++draft/ostream.formatted.reqmts#3) specifies how padding is to be determined by a formatted output function if the function is specified to determine padding. Thus, the specifications of individual formatted output functions must state explicitly that "padding is to be determined" if output is to be padded. However, `vprint_[non]unicode` are not specified to "determine padding" in [\[ostream.formatted.print\]](https://eel.is/c++draft/ostream.formatted.print), so no padding should be applied.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVE2PnDgQ_TXmYgXZBYbmwCGdFtpDjrmPDC7AkbFZ2_TM_PuVPd2diVZpabUXkL9e1XuvqmQIerGIPRFnIi6FPOLqfL8daAz6n1CMTr33P1ak0-E92kj1thvc0EYZtbPUzZQ07Lp7beMLEWfrLBGXw-rJKSQNo7tUgcYVqTvifkQ6yoCKOpv3QvQoNwJtoK9axZUGjFHbhVRfCbsQdvuuMe4h7cFAYFh0XI-xnNxGYDDmev992b37iVMkMIzGjQQGWVUS-diq-QSqVS2vuWikYoJNbOw6UYtZqrprE4Aep7c3AoO2kzkUEhheXtw9vyHzK1cC1XfRffneNJ_Ty9p9I-J8u1_Ozm8yRlSlx7-3GPLphcBQ5d_pdz6IptSBwDAROBM4Ky_nROKPaFBVBDoadpz0rDHQ1b0mnZW2C9WBRkdHpAoj-k1bVHR8p5I-YO5OzIedsod6zmb8WocHtkpgD6R7kJL-WI9A4NuHiR93p1wQIVWEtkpftTqk-XPUQLcjRBqijEjxbTd60tG807jKSAnAEz4EIOV8A3xcSC9QlfQv94pX9Cm956UpPVLr4u9kCcC_-OaAlj7xOQe52fy_LP4Agi5lHxy17mFsWN1hVCIq991oVGWh-kp1VScL7HlbccGaGqBYeznN6iSgnlrWcn6qp0Z1jcATKCm4OFWF7oFBzTmveM0Yb0vZMsW5lNidaiXmjtQMN6lNmRqrdH4pdAgH9pw3TNSFkSOakIcGQGqdD1oEIA0R3-d2HI8lkJoZHWL4hRN1NHncfHomLs-cgtNNJkqgybpEr-3yctX4mpZf_RLySVOWZZKuYXexkru7VJ_mT3F40__neZLJJ_9u_K89_BMAAP__2I629g">