gen_mod:start_backend_module/3 requires TrackedFuncs to have corresponding -callback attrs but doesn't state so
MongooseIM version: at least 3.3.0 and later
gen_mod:start_backend_module/3 (and likely the underlying backend_module:create/3) requires TrackedFuncs to have corresponding -callback attributes defined in the module passed as Module argument, but doesn't state so anywhere.
This leads to confusion, since even if the TrackedFuncs are correct, the *_rdbms (or equivalent) exports the expected implementations, the *_backend proxy module still doesn't export them if -callbacks are missing.
@erszcz do you have a solution to this problem in mind? The only thing which comes to my mind at this moment is to crash (with a descriptive error message) the proxy module creation if we notice that there is a TrackedFunc without corresponding -callback.
@michalwski I think that would work very well!