SHA3 error during compiling with both make and ninja:
n file included from Proof.cpp:5:
Sha3Hash.h:18:29: error: return type ‘struct std::array<long unsigned int, 4>’ is incomplete
18 | array<u64, 4> finish() && {
| ^
Proof.cpp: In function ‘std::array<long unsigned int, 4> proof::hashWords(u32, const Words&)’:
Proof.cpp:24:66: error: could not convert ‘(& std::move<Hash<Sha3Hash>&>((* & Hash<Sha3Hash>().Hash<Sha3Hash>::update(((const void*)(& words)->std::vector::data()), (((E - 1) / 8) + 1)))))->Hash<Sha3Hash>::finish()’ from ‘void’ to ‘std::array<long unsigned int, 4>’
24 | return std::move(SHA3{}.update(words.data(), (E-1)/8+1)).finish();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
| |
| void
Proof.cpp: In function ‘std::array<long unsigned int, 4> proof::hashWords(u32, std::array<long unsigned int, 4>, const Words&)’:
Proof.cpp:28:81: error: could not convert ‘(& std::move<Hash<Sha3Hash>&>((* &(& Hash<Sha3Hash>().Hash<Sha3Hash>::update<long unsigned int, 4>(prefix))->Hash<Sha3Hash>::update(((const void*)(& words)->std::vector::data()), (((E - 1) / 8) + 1)))))->Hash<Sha3Hash>::finish()’ from ‘void’ to ‘std::array<long unsigned int, 4>’
28 | return std::move(SHA3{}.update(prefix).update(words.data(), (E-1)/8+1)).finish();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
| |
| void
make: *** [Makefile:33: Proof.o] Error 1