Currently, 'class' and 'struct' are exactly the same (except for the default access specifier). The standard even allows to mix 'struct' and 'class' in forward declarations (except that MSVC does not support it, IIRC). So, why should we now start differentiating between classes and structs?
If I understand the problem correctly, this has to do with a (local) variable having the same name as the type. We already can always specify the type explicitly by using its namespace (e.g. std::string or ::MyClass). What other problem would the tag namespace solve?
Maybe I'm a little unknowledgeable in this area, but what kind of C source code pertinent to this problem would currently not work in C++?
I hope this proposal is not just about style preferences.