Remember, the intent of the warning is to warn the programmer about
possible misuse of one versus the other, so clearly renaming one is a
good practice for code for public use.

In my opinion this is an over-simplification.  Many warnings raise false alarms in perfectly legitimate code and in my professional experience, jumping through the 'warning free' hoops to clean that up leads to obfuscated code as you make things more complicated just to silence warnings.

This is not a good thing.

So, though I don't think the code should be changed to fix this, it could be argued that the warning should be silenced in the header so as to not pollute your warning stream.

-- chris