I've got the following code:
typedef msec_t uint32_t;
std::list<std::pair<msec_t, SomeClass*>> timeouts;
std::list<std::pair<msec_t, SomeClass*>>::iterator itr = timeouts.begin();
CLion is claiming itr as type _Class_iterator<msec_t>, rather than the appropriate templated pair. As a result, any time I assign the iterator to something from the list, it reports as an error.