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

    <tr>
        <th>Summary</th>
        <td>
            Wrong diagnostic about shadowing in nested class
        </td>
    </tr>

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

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

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

<pre>
    Hi,

the following is a reduced test case of a situation I encountered in one of my libraries:

```
class container
{
public:
    char *              end();

    class nested
    {
    public:
        enum            end_tag { end };
    };    
};

int
main()
{
}
```

Compiling this with Clang 16 and `-Wshadow` gives:

    <source>:9:35: warning: declaration shadows a static data member of 'container' [-Wshadow]
 enum            end_tag { end };
 ^
    <source>:4:25: note: previous declaration is here
        char * end();
                            ^
The warning seems totally off, because `container::end()` is neither static nor a data member.

Also, if `container::end()` is made `static`, the text of the warning still says "data member". (It is IMHO correct to warn, in that case, but the text of the warning should just say "member", not "data member".)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVMGO4jgQ_RrnUmoUbALkkAMNg6YPq72sNMdVxS4Sjxwb2ZVm--9XThigZ7pXOxFKyiT13qt6dmFKtvNEjaieRXUocOQ-xKYj7zGGcwyMRRvMW_PVCrkX5UGUu_nOPcEpOBcu1ndgEyBEMqMmA0yJQWMiCCdASJZHZBs8vAB5HUbPFMmA9RD89M3wBs62EaOlJNTukUasy-tvWmqHKYEOntF6itdvNs9zcB5bZ_UNAQBA9xhByCm-X-SNkFsha6GeH9mmjInCU2Iy939vHHnxAc-MOg4_sfzN2OXcHIPYHG58M2ZeT9G1jsNPeqznORjQ-qvi9yXnnI8aNd_3YThblw3i3ia4WO5h79B3sFwDZknr8ulb6tGEi1iX0NnXXxyY9Kl9CmPUJNQXoXa1UDtVCbWDC0ZvfZdDQ9phnI2eEfOeSIxsNRhkhIGGlmI2XMjN3UO5AVE932RU14J-r52i-vKp3JVQOznJ9YEpP8-RXm0Y0zvRNkFPkd57ets_v24Z-I_rJuevnn40CRLRkIADo3NvEE4nIffQksYxUXbi3hK1E2p3Z1yXWZwnyz3FHy31IQI-Nnbx6NrOpZDh7el_IA9oJgEzct5Dcg_5gDP9w9kvfqyCrXOQ8C2BkPKBX0i5ACG3L5wxX_74-ifoECNpBg5T-iTIA_c4z4ep_pE_p-rD6Ax8HxNnwsx3o8q5PvAHGoSsC9MoU6saC2qW661areptWRd9o8qV0qfanGRV682yLU1p6qVRqw0ZXG-XhW1kKVVZlZtyW61X9ULrjapWhlpErDdbFKuSBrRu4dzrsAixK2xKIzVrWW23hcOWXJqmqZSeLjC9zHKrQxGbnPPUjl0Sq9LZxOmOwpYdNd9i8B0Yi50PKbuMbRj5ep6mQeuvo2meU8UYXdMzn6dTK49CHjvL_dgudBiEPGb46-PpHMN30izkcRKVhDxOov8NAAD__yK0xk4">