summaryrefslogtreecommitdiff
path: root/absl/hash/hash.h
diff options
context:
space:
mode:
authorGravatar Abseil Team <absl-team@google.com>2022-03-15 11:12:25 -0700
committerGravatar Andy Getz <durandal@google.com>2022-03-15 20:21:30 -0400
commit231c393a170ce3c6d83e8456bc87fe917c333ecf (patch)
treeb14a1ef390e86aec82c3552ba837fcd2553574b7 /absl/hash/hash.h
parent5ed77665c4d697f657fa1362b5a482450f858cdc (diff)
Export of internal Abseil changes
-- 5dc885f2b62993bccf33a3f3b99f7e460c819c89 by Derek Mauro <dmauro@google.com>: Remove the internal-only ABSL_INTERNAL_ASSUME now that ABSL_ASSUME is available and ABSL_INTERNAL_ASSUME has no more users. Improve the documentation to ABSL_ASSUME somewhat. PiperOrigin-RevId: 434803125 Change-Id: I7c27418463ffc1c7e10ecd50e2d17f348f686af7 -- 4aea19a0ef596228c9136a4c2446e6f25085f23c by Derek Mauro <dmauro@google.com>: Update documentation to warn against using absl::Hash across dynamically loaded libraries Fixes #1128 PiperOrigin-RevId: 434723247 Change-Id: Ib0c7ba03b2cab98b42e19e85be6833192d4b4067 GitOrigin-RevId: 5dc885f2b62993bccf33a3f3b99f7e460c819c89
Diffstat (limited to 'absl/hash/hash.h')
-rw-r--r--absl/hash/hash.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/absl/hash/hash.h b/absl/hash/hash.h
index f31fde40..74e2d7c0 100644
--- a/absl/hash/hash.h
+++ b/absl/hash/hash.h
@@ -40,6 +40,11 @@
// each process. E.g., `absl::Hash<int>{}(9)` in one process and
// `absl::Hash<int>{}(9)` in another process are likely to differ.
//
+// `absl::Hash` may also produce different values from different dynamically
+// loaded libraries. For this reason, `absl::Hash` values must never cross
+// boundries in dynamically loaded libraries (including when used in types like
+// hash containers.)
+//
// `absl::Hash` is intended to strongly mix input bits with a target of passing
// an [Avalanche Test](https://en.wikipedia.org/wiki/Avalanche_effect).
//