查看源代码 erl_features (stdlib v6.2)
此模块包含用于支持 Erlang 中可以启用/禁用的特性的函数。
它主要被认为是内部使用的,尽管在编写工具时,有一些函数可能会很有用。
摘要
函数
返回所有已知特性的列表。此列表将包括已删除(状态为rejected
)的特性和不再可配置(状态为permanent
)的特性。
返回所有可配置特性的列表,即状态为experimental
或approved
的特性。这些是可以启用或禁用的特性。
返回当前已启用的特性的列表。请注意,启用的特性集是在启动期间设置的,之后无法更改。
返回一个包含给定特性信息的映射。
返回编译模块时启用的特性列表。该模块不必加载,但如果它存在于加载路径中,则可以找到它。如果在运行时未启用模块使用的所有特性,则不允许加载该模块。
类型
-type feature() :: atom().
-type release() :: non_neg_integer().
-type status() :: experimental | approved | permanent | rejected.
-type type() :: extension | backwards_incompatible_change.
函数
-spec all() -> [feature()].
返回所有已知特性的列表。此列表将包括已删除(状态为rejected
)的特性和不再可配置(状态为permanent
)的特性。
-spec configurable() -> [feature()].
返回所有可配置特性的列表,即状态为experimental
或approved
的特性。这些是可以启用或禁用的特性。
-spec enabled() -> [feature()].
返回当前已启用的特性的列表。请注意,启用的特性集是在启动期间设置的,之后无法更改。
-spec info(feature()) -> FeatureInfoMap | no_return() when Description :: string(), FeatureInfoMap :: #{description := Description, short := Description, type := type(), keywords := [atom()], status := status(), experimental => release(), approved => release(), permanent => release(), rejected => release()}.
返回一个包含给定特性信息的映射。
-spec used(module() | file:filename()) -> [feature()].
返回编译模块时启用的特性列表。该模块不必加载,但如果它存在于加载路径中,则可以找到它。如果在运行时未启用模块使用的所有特性,则不允许加载该模块。