aboutsummaryrefslogtreecommitdiff
path: root/std/hash_map.zig
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-08-25 04:50:51 -0400
committerGitHub <noreply@github.com>2018-08-25 04:50:51 -0400
commit4003cd4747019d79ff50aaa22415d2d3dfc15cf4 (patch)
tree1f77690a5fb7ccbef75bcab9c8c1e008ef3c5068 /std/hash_map.zig
parentbf1f91595d4d3b5911632c671ef16e44d70dc9a6 (diff)
parent815950996dcc92ac6ac285f2005dbac51b9cb6f8 (diff)
downloadzig-4003cd4747019d79ff50aaa22415d2d3dfc15cf4.tar.gz
zig-4003cd4747019d79ff50aaa22415d2d3dfc15cf4.zip
Merge pull request #1406 from ziglang/macos-stack-traces
MacOS stack traces closes #1365
Diffstat (limited to 'std/hash_map.zig')
-rw-r--r--std/hash_map.zig16
1 files changed, 16 insertions, 0 deletions
diff --git a/std/hash_map.zig b/std/hash_map.zig
index 0c100e15d9..9654d612a5 100644
--- a/std/hash_map.zig
+++ b/std/hash_map.zig
@@ -408,6 +408,22 @@ test "iterator hash map" {
assert(entry.value == values[0]);
}
+pub fn getHashPtrAddrFn(comptime K: type) (fn (K) u32) {
+ return struct {
+ fn hash(key: K) u32 {
+ return getAutoHashFn(usize)(@ptrToInt(key));
+ }
+ }.hash;
+}
+
+pub fn getTrivialEqlFn(comptime K: type) (fn (K, K) bool) {
+ return struct {
+ fn eql(a: K, b: K) bool {
+ return a == b;
+ }
+ }.eql;
+}
+
pub fn getAutoHashFn(comptime K: type) (fn (K) u32) {
return struct {
fn hash(key: K) u32 {