HomePhabricator

PDB HashTable: Move TraitsT from class parameter to the methods that need it

Description

PDB HashTable: Move TraitsT from class parameter to the methods that need it

The traits object is only used by a few methods. Deserializing a hash
table and walking it is possible without the traits object, so it
shouldn't be required to build a dummy object for that use case.

The TraitsT object used to be a function template parameter before
r327647, this restores it to that state.

This makes it clear that the traits object isn't needed at all in 1 of
the current 3 uses of HashTable (and I am going to add another use that
doesn't need it), and that the default PdbHashTraits isn't used outside
of tests.

While here, also re-enable 3 checks in the test that were commented out
(which requires making HashTableInternals templated and giving FooBar
an operator==).

No intended behavior change.

Differential Revision: https://reviews.llvm.org/D64640

Details

Committed
nicoJul 12 2019, 4:30 PM
Differential Revision
D64640: PDB HashTable: Move TraitsT from class parameter to the methods that need it
Parents
rL365973: Fix non-conformance it `std::tuple`.
Branches
Unknown
Tags
Unknown