this assert even if you change the representation above. static_assert(sizeof(LazyGenericMetadataCache) <= sizeof(GenericMetadataInstantiationCache::PrivateData), "metadata cache is larger than the allowed space"); auto lazyCache = reinterpret_cast<LazyGenericMetadataCache*>( generics.getInstantiationCache()->PrivateData); return lazyCache->get(); } 52