SIGN IN SIGN UP

Remove use of unsafe.Pointer for string hashing

We recently encountered an issue where an old version of siphash
(v1.0.0) was vendored along with OPA. The combination of this version of
siphash and use of unsafe.Pointer to obtain a byte slices caused
back-to-back ast#Term.Hash calls to return different values! Ultimately
this lead to incorrect evaluation results.

Previously, we used unsafe.Pointer to improve performance in the
scheduler benchmark. At this point though, reverting to []byte conversion
during hashing does not introduce a noticeable performance regression.

If the extra allocation during hashing becomes a bottleneck in the
future, we can revisit this.
T
Torin Sandall committed
a714cc4a5c23e7687a7e9ebdc436584e4d522ae1
Parent: e26207c