Spaß mit verschachtelten Templates!

Code (C++):
std::map<size_t, std::map<std::string, std::pair<PropertyType, ParameterDefinitionList> > > m_mActions;

führt zu
Code:
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\xlocnum(135) : warning C4503: 'std::_Tree<_Traits>::_Buynode': Die Länge des ergänzten Namens wurde überschritten. Der Name wurde gekürzt.
1>        with
1>        [
1>            _Traits=std::_Tmap_traits<size_t,std::map<std::string,std::pair<DeviceManager::PropertyType,DeviceManager::ParameterDefinitionList>>,std::less<size_t>,std::allocator<std::pair<const size_t,std::map<std::string,std::pair<DeviceManager::PropertyType,DeviceManager::ParameterDefinitionList>>>>,false>
1>        ]
Mit komplett aufgelösten typedefs wäre es übrigens:
Code (C++):
std::map<size_t, std::map<std::string, std::pair<enum PropertyType, std::map<std::string, enum PropertyType> > > > m_mActions;


Ich könnte die Warnung umgehen, indem ich noch mehr Typedefs verwend, aber dazu bin ich ehrlich gesagt zu faul.