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

    <tr>
        <th>Summary</th>
        <td>
            [rejects-valid] void{} (DR 2351)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    `clang version 15.0.0 (https://github.com/llvm/llvm-project.git 4ba6a9c9f65bbc8bd06e3652cb20fd4dfc846137)`

`clang++ -std=c++20` rejects
```
void f()
{
   return void{};
}
```
with
```
<source>:3:15: error: illegal initializer type 'void'
   return void{};
```
The code is valid considering DR 2351 [1] and accepted by recent versions of other major compilers [2].

[1] https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2351
[2] https://godbolt.org/z/x4Errshnb
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVUslu2zAQ_RrqQljgovWgQ1wnH1D0XnCTRIMWDZKy63x9h4qSImgOLUByOJrRm8c3I71-DKghyollwjcTovULpnVJSoIR6-aUrhHxJ8ReYE02zasslb-A49zt3RyuwZ-NSiUk4EqKRvSqH5taStVJTRrDm5opycioKz2qrmoobxHroTAiJ0Se9nPngdgRFj7EpBE_qTeXEQjjYHKd-JG_r829eavxCKQz8ltCe3y7YAx_pjUsOCflz-0J8eN71ulLvDu89ssA4t-iX4MyiD-DNhw2reHAJgQf8sU6ZybhsF1sssLZVxNwelwNSNpuDFj7L8Q-l_0xG6y8NthGfANQDd4SrTbBQu9O3zHjNcWoPlJUn7BYNBZKmWsyGssHlFFmSe8tjtiP2KcZeF3E2QeAulytg2AGYABQfurMDvp5HO73e-mvZsmNKn2Avr2ck6JgomIsJ0wse9qrCEbdp5_ajLl_5ZwuDjGeGX9UYH9XmLyW3qUd_BX2r-o5hDgvsjADbZoWBqsitNAD1z3vRZFscmYAtH1SDptSGfmPwHmwd7lgVIo1uOH_5hxcG-Nq8qvqrmNdMQ-9FlJSeBKrOGF933dGj3VHe2VMTQkvnJDGxUwNMbaYO94g4A7kCjswwhilpKasaipaNu3IOg6-ZH3b9hWqiLkI68rMI-tRhGGjJNcpQtDZCLJ-BEWMdlrMpkTGF2uafRjGuMpiqztsvH8DmPUqTQ">