On 19/11/19 00:10 +0200, Ville Voutilainen wrote:
On Mon, 18 Nov 2019 at 23:41, François Dumont <frs.dum...@gmail.com> wrote:
>   Also, is
> this ABI-compatible
> for our unordered containers?
>
IMHO, yes it is.

In hashtable_policy.h _H1 was the user hash which I renamed in _Hash,
the same template name that for unordered containers.

_H2 was always _Mod_range_hashing and previous _Hash always
_Default_ranged_hash, both stateless types. Only _H1 and _H2 were stored
in _Hash_code_base for instance. _H1 is still as _Hash and _H2 was just
empty and moreover stored last so removing it has no impact.

Right, and as I understood the code, it's all empty base objects
anyway, so it boils down to whether
a set of empty bases can change without causing an ABI break, and I
don't think there's an ABI
problem here because the actual _Hashtable is stored as a member of
various containers, and its
size doesn't change, and based on what you wrote, with which my
code-reading agrees, the behaviour
doesn't change either. So the patch seems okay to me.

There's no guarantee that a program-defined hash object is actually
empty.

Reply via email to