You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
move template class member to correct TU for explicit instantiation (#4643)
During recent refactoring a single method of the `template <class
BucketT> class SearchableBucketListSnapshotBase` -- the method
`SearchableBucketListSnapshotBase<BucketT>::loadKeysInternal` -- got
left behind in `SearchableBucketList.cpp` while the rest of the methods
got moved to `BucketListSnapshotBase.cpp`.
Unfortunately all explicit template instantiations of
`SearchableBucketListSnapshotBase` occur in `BucketListSnapshotBase.cpp`
and they only cause instantiation of methods _defined in_ the same TU.
So the method didn't get instantiated. At least on g++.
This was covered up in CI because enabling extrachecks winds up
triggering instantiations anyways. But if you turn off extrachecks,
master doesn't currently compile on g++.
This fixes the bug by moving the method to the right TU.
0 commit comments