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 の結果を継承することです。
これを行う方法はありますか?これについて何か考えはありますか?
みんなありがとう!