什么是需要is_subtype的最后一个Erlang版本

jvf*_*jvf 0 erlang

根据Erlang类型和函数规范,约束约束中函数的输出类型::可以when-spec属性的一部分中使用:

-spec id(X) -> X when X :: tuple().
Run Code Online (Sandbox Code Playgroud)

为了向后兼容,还可以使用:

-spec id(X) -> X when is_subtype(X, tuple()).
Run Code Online (Sandbox Code Playgroud)

但不鼓励使用is_subtype(不建议使用).什么是最后一个需要使用is_subtype而不是::?的Erlang版本?

Ste*_*ski 5

语法-spec id(X) -> X when X :: tuple().不能使用Erlang/OTP版本R13B04进行编译,但使用R14B04进行编译.语法-spec id(X) -> X when is_subtype(X, tuple()).与R13B04和R14B04一起编译.因此,我相信你的问题的答案是Erlang/OTP R13B04.