TextBreakIterator should use typedefs in a common header instead of reinterpret_cast The ICU code has lots of: UBreakIterator* ubrkIter = reinterpret_cast<UBreakIterator*>(iterator); TextBreakIterator is just forward declared and never defined. This is different from how say PlatformGraphicsContext or the other graphics types work where they have a set of #ifdef lines which typedef from the appropriate platform pointer type to the shared type. This was found as part of reviewing bug 89235.