Gophers, hey. Confusing ^ with exponentiation instead of XOR in Go seems like a pretty easy mistake to make. The bug itself is simple, but it still shows up even in some well-known projects with large codebases.
Marshaling the field is fine, so using the tag json:"-" won’t work. I could use the UnmarshalJSON method on the struct, but I have no idea how to implement it.