<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/62425>62425</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-format] [16.0.0] CompactNamespaces: true deindents the scope contents after namespaces end
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
petr-polezhaev
</td>
</tr>
</table>
<pre>
```
namespace a::b {
int value;
}
void foo()
{
int some_code = 0;
}
void bar()
{
if (condition()) {
print("something");
}
}
```
but (with `CompactNamespaces: true`, `NamespaceIndentation: All`)
```
namespace a { namespace b {
int value;
}}
void foo()
{
int some_code = 0;
}
void bar()
{
if (condition()) {
print("something");
}
}
```
Same happens after any combination of multiple nested namespaces, most notably with anonymous namespaces
```
namespace a::b { namespace {
int value;
}}
void foo()
{
int some_code = 0;
}
void bar()
{
if (condition()) {
print("something");
}
}
```
each nested namespace compacted de-indents following contents by one level
```
namespace a { namespace b { namespace {
int value;
}}}
void foo()
{
int some_code = 0;
}
void bar()
{
if (condition()) {
print("something");
}
}
```
With `CompactNamespaces: false` everything is fine
```
namespace a {
namespace b {
namespace {
int value;
}
}
}
void foo()
{
int some_code = 0;
}
void bar()
{
if (condition()) {
print("something");
}
}
```
Checked on:
- `clang-format version 16.0.0`
- `clang-format version 16.0.2 (https://github.com/llvm/llvm-project.git 18ddebe1a1a9bde349441631365f0472e9693520)`
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzslkuP4jgQxz-NcymBHOcBOeRAN0Lay172sMeVY1cS7zh2FDu0mE8_smleM_2gR30YjUZCBlxFlev_w1XhzqnOINakeCDFNuGz7-1Uj-inxWg1fu057pPGykNNSvr8oltCN4YP6EYuEDjJNiTbNEBWD0cboZUyHvZcz0iy0-Zqe7KGdW-VhNZawtaEVSeX2wDODvifsBKBZFugb4Zq-PRqqBYIWwtrpPLKmmc3Vt0cmNBqnJTx0cpCZt8r0xHGgnN25XhOfv5wq0wz-5DvSfkeSEkf7TBy4f8-6eVItgE_zRh-wB6Dy9n2l5FoPI-nzDaw0To6VS_muSIQKoHL93tQfIDGZ6G4i8M9EN4jcFz_4QNCz8cRjQPeepyAmwMIOzTKRI3BtjDM2qtRIxh0HuVFRRfgDNZ5MNbzRh8gEuXGmsNgZ3ft-Q6eqwtyRekPI7pBLvoflA-IwpVBCRIXKt4JB63V2j4p04Gwxset5gDWIGjco_6ZK_JRGL8kj8-D8e9bHavl2oWWBbjH6RCzgHLQKoP3SH8W97UudWP6zvAyk6PpouVLnfk3HzXH9bFH8QUlxKFx3FoEjkJz0y1aOw3cwx4nF1peWi7p8hLhHUcWyum9H8N_gLAdYbtO-X5ulsIOhO203p_eFuNk_0fhl53ykK6lxAZTnvKqkZjlVZ6nZZZmZdHSfMWwKqusYHG2lTSRdSarrOIJ1mm5ZuWaFus86WvGC0kZWzWCr1KRVkzmMlsJ0UoqcmyKRNWMsozmbJ2macnypWjytGIt0nxVCRQtySkOXOllOOLSTl2inJuxLlnOikTzBrWLDz-MGXyCaAwgim0y1bGsZu4cyalWzrtLFK-8jk9N19qRYgukeHiWuNjCq7MfJJ76mu8RnLAjXvracVhd5gugkck86fpjJAjbxXocYbtY77cAAAD__xWcw0U">