有没有办法在 Erlang 的 -spec 中“继承”规范?
让我举个例子:
我正在编写一个典型的便利功能,例如:
start_link(Opts) -> gen_server:start_link(?MODULE, [Opts], []).
我想写 -spec 像:
-spec start_link(Opts) -> Result when
Opts :: [Opt],
Opts :: {timeout, pos_integer()}
| {return_type, ReturnType},
ReturnType :: binary | string,
gen_server:start_link/3 的结果是
Result = {ok,Pid} | ignore | {error,Error}
Pid = pid()
Error = {already_started,Pid} | term()
我必须复制这个或使用 start_link 函数的模板。我想做的是以某种方式继承 gen_server:start_link/3 的结果。
有没有办法做到这一点?对此有什么想法吗?
谢谢大家!