<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/131745>131745</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang] -Wunique-object-duplication in static class member functions, intentional?
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:frontend
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
carlosgalvezp
</td>
</tr>
</table>
<pre>
Hi,
We are getting hits of the -Wunique-object-duplication warning in this type of code:
```cpp
struct Foo
{
Foo& get()
{
static Foo f{}; // -Wunique-object-duplication
return f;
}
};
```
Example: https://godbolt.org/z/qnKrEnh1d
I did not see this use case in the unit tests, so I wonder if warning here is intentional?
Thanks!
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8Us1u2zwQfJrVZWGDWsmWfdDBiSN8wXctkDMlriW2NKnwJ2ny9AUlN2l7iCBAoHZ3dmY4MgQ9WuYWdnewOxcyxcn5dpDeuDBK88Lvc9E79db-p4HuQZxAnJ4YpWccOUZtR5x0DOguGCfGzVOy-jnxxvXfeYgblWajBxm1s_gqvc392mKcdMD4NnOeG5xiqE4rNuzF-g7zDOIUok9DxM65XGvuQJwQcTnTPjMAOgAdb78_G_IToox6yL14yZXmDNUdIlAH1H3F9A8MzzF5ixeoFuSMkXmc1_MH2ZX7w095nU3WglOMc8iilmWjU70zcev8CNS9A3XP9n__YKdSrZOPqLRC6yIG5tWdFBgHGXi1izFZHTFyiAHoHoPDR3x1VrFHffmwdmLPqANqG9lmKdJA1a07vk3S_ghAZaHaSh2royy4LZua6EDNnoqpLaudYFULwbLe7yuqxEGoo2p6Qb2oG1XolgTtRFUeREN7QVvuj5VqiKism_4oBdSCr1KbrTEv1yy30CEkbsuqbOpdYWTPJixZIxqMtCNUp4t3ma0CopxA3-bZTZ_GALUwOsTwiRZ1NEtW1-Hd-cvAafs7A4ORIeCVrz17vCQ75Ppi5N9OFcmb9p-703FK_XZwV6AuE7l9NrN3eSNQt2gMQN1N5ktLvwIAAP__6uwLLQ">