aboutsummaryrefslogtreecommitdiff
path: root/src/analyze.cpp
diff options
context:
space:
mode:
authorLemonBoy <thatlemon@gmail.com>2020-01-14 12:19:10 +0100
committerAndrew Kelley <andrew@ziglang.org>2020-01-14 13:09:23 -0500
commit50754ba336e99ac3db972a8b4e7bc583d77f2892 (patch)
treeed8b11fcf5bd5aa73587635dcaa269f5f448f578 /src/analyze.cpp
parent4c87281b5cf0e9268107f6456aeb16d097d1eb76 (diff)
downloadzig-50754ba336e99ac3db972a8b4e7bc583d77f2892.tar.gz
zig-50754ba336e99ac3db972a8b4e7bc583d77f2892.zip
Fix ICE when BoundFn are passed as parameters
Closes #4022 Closes #3699
Diffstat (limited to 'src/analyze.cpp')
-rw-r--r--src/analyze.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/analyze.cpp b/src/analyze.cpp
index 255ac4ff0e..b7838003c8 100644
--- a/src/analyze.cpp
+++ b/src/analyze.cpp
@@ -5289,7 +5289,10 @@ static uint32_t hash_const_val(ZigValue *const_val) {
case ZigTypeIdAnyFrame:
// TODO better hashing algorithm
return 3747294894;
- case ZigTypeIdBoundFn:
+ case ZigTypeIdBoundFn: {
+ assert(const_val->data.x_bound_fn.fn != nullptr);
+ return 3677364617 ^ hash_ptr(const_val->data.x_bound_fn.fn);
+ }
case ZigTypeIdInvalid:
case ZigTypeIdUnreachable:
zig_unreachable();