The default repr(Rust) representation makes no guarantees about layout or alignment of its members, but we want (1) a pointer to AlignedKeccakState be the same as a pointer to its member, and (2) the member to be aligned. repr(C, align(8)) achieves that.
The default repr(Rust) representation makes no guarantees about layout or alignment of its members, but we want (1) a pointer to AlignedKeccakState be the same as a pointer to its member, and (2) the member to be aligned. repr(C, align(8)) achieves that.