63 | * unless whichTypeRet is TX_SCRIPTHASH, in which case scriptSigRet is the redemption script.
64 | * Returns false if scriptPubKey could not be completely satisfied.
65 | */
66 | -bool Solver(const CKeyStore& keystore, const CScript& scriptPubKey, uint256 hash, int nHashType,
67 | - CScript& scriptSigRet, txnouttype& whichTypeRet)
68 | +static bool SignStep(const BaseSignatureCreator& creator, const CScript& scriptPubKey,
Why this needs to become static?
Can't the compiler find out what it's best (static or inline) by itself?
Compilers don't have enough information to determine if functions can be static. And non-static functions cannot be inlined.
The compiler compiles individual .cpp files. At that stage, it's not yet known whether a function will be used by other modules (.cpp), so no, you need to tell it that it's local to the module.
@luke-jr Non-static functions can (and are) inlined just fine. They just can't be omitted from the resulting .o file unless they're 1) static 2) inlined in every call site.