Exporting gen_server name and ref types
Sun Jul 12 14:07:07 CEST 2020
I just realized that multiple gen_server types are not available:
- For refs, gen_server:ref/0 exists but is not exported.
- For names, gen_server does not specify any type, but call functions from the
gen module which uss gen:emgr_name(), which is also not exported.
- Return values for gen_server:start are described by gen:start_ret/0 which is
It is inconvenient because writing type specifications for functions wrapping
gen_server functions (e.g. all start_link functions which end up calling
gen_server:start_link) means copy/pasting these non-trivial types everywhere.
Additionally, I believe gen_server:request_id/0 should also be exported, it is
common to pass request ids around and it is therefore useful to have the
precise type available.
Would you consider a patch which would export gen_server:ref/0 and
gen_server:request_id/0, and add/export gen_server:name/0 and
gen_server:start_ret/0 (based on the existing gen types) ?
More information about the erlang-questions