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
Browse filesBrowse the repository at this point in the historyBrowse files
Krishna Pai
committed
fix(nimble): Make the shared dictionary export build and pass checks
#18640 brought D116132982's shared dictionary work across byte-identical to
fbcode, which is right for the export but leaves it not compiling here and
failing pre-commit. These are the repairs, kept separate so the export itself
stays a clean mirror.
Two struct members arrived without default initializers while their neighbours
have them. Velox builds -Wextra -Werror and fbcode does not promote
-Wmissing-field-initializers, so the omissions are invisible internally and
fatal here:
- Encoding::Options::sharedDictionaryAlphabet, 196 instances across
ConstantEncodingTest, DictionaryEncodingTest, EncodingTest, FsstEncodingTest
and HuffmanEncodingViewTest. Set to nullptr, matching bufferPool,
encodingBufferPool and decodingStats beside it.
- SharedDictionaryConfig::alphabetEncodings, 5 instances in
SharedDictionaryConfigTest. Given `{}`, matching dictionaryId and
useExternalAlphabet beside it.
ExternalSharedDictionaryBuilder::resetImpl passed a Kind enum straight to
NIMBLE_UNSUPPORTED. Velox bundles fmt v11, which will not format an enum
implicitly:
error: 'type_is_unformattable_for<SharedDictionaryBuilder<int>::Kind, char>'
has incomplete type
instantiated for four value types. SharedDictionaryBuilder::kindString already
exists for this, so it is used, which also turns the message from an integer
into "External shared dictionary builder does not support reset()".
Four headers reached this tree without CMake entries, so check-header-ownership
failed: SharedDictionaryCatalog.h, SharedDictionaryReader.h,
ExternalDictionaryBuilder.h and SharedDictionaryConfig.h. Each is listed
alongside the .cpp already in its target. fbcode builds with BUCK, so nothing
internal enforces this. All 1651 headers are tracked again.
Touching those files makes gersemi reformat two add_dependencies blocks that
arrived unformatted; that is the hook's doing, not a manual edit.
Velox is GitHub-first, so the next import carries these into fbcode.
0 commit comments