aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Build/Step
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-07-23 17:19:50 -0700
committerAndrew Kelley <andrew@ziglang.org>2023-07-23 17:47:18 -0700
commita7f3c2eab427397846f619dba7abb72378ac2ce9 (patch)
tree8398c95f4ce6c45ac738c31c4ec2044df49c2103 /lib/std/Build/Step
parent7dcbabef512403382f4647e2c7cc0c900ecae913 (diff)
downloadzig-a7f3c2eab427397846f619dba7abb72378ac2ce9.tar.gz
zig-a7f3c2eab427397846f619dba7abb72378ac2ce9.zip
InternPool: fix coerced func hash/eql same as uncoerced
Since the same Key.Func data structure is used for coerced function bodies as well as uncoerced function bodies, there is danger of them being hashed and equality-checked as the same. When that happens, the type of a function body value might be wrong, causing lots of problems. In this instance, it causes an assertion failure. This commit fixes it by introducing an `uncoerced_ty` field which is different than `ty` in the case of `func_coerced` and is used to differentiate when doing hashing and equality checking. I have a new behavior test to cover this bug, but it revealed *another* bug at the same time, so I will fix it in the next commit and and add the new test therein.
Diffstat (limited to 'lib/std/Build/Step')
0 files changed, 0 insertions, 0 deletions