<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">