PR to test https://github.com/bitcoin-core/leveldb-subtree/pull/47 in our CI.
Cherry-picks two commits from upstream (https://github.com/google/leveldb/commit/302786e211d1f2e6fd260261f642d03a91e5922c, https://github.com/google/leveldb/commit/e829478c6a3a55d8e5c1227e2678dcc18d518609), which remove the usage of std::aligned_storage/std::aligned_union
.
Note the first cherry-pick is not clean, because due to Google tooling issues, it accidently contained a revert of the prior two commits. See https://github.com/google/leveldb/pull/1249 for more details.
Also see https://issues.chromium.org/issues/388068052, although note that they reverted the roll to latest leveldb. I’m guessing due to the acidental reversion issue above.