Provided by: erlang-manpages_25.2.3+dfsg-1_all bug

NAME

       erl_features - Feature support.

DESCRIPTION

       This  module  contains  functions  for supporting features that can be enabled/disabled in
       Erlang. It should be considered as mostly  for  internal  use,  although  there  are  some
       functions that might be useful when writing tools.

DATA TYPES

       feature() = atom()

       release() = integer() >= 0

       status() = experimental | approved | permanent | rejected

       type() = extension | backwards_incompatible_change

EXPORTS

       all() -> [feature()]

              Return a list of all known features. This list will include features that have been
              removed (status rejected) and features that  are  no  longer  configurable  (status
              permanent).

       configurable() -> [feature()]

              Return  a  list  of  all  configurable  features,  that  is,  features  with status
              experimental or approved. These are the features that can be enabled or disabled.

       info(Feature :: feature()) -> FeatureInfoMap | no_return()

              Types:

                 Description = string()
                 FeatureInfoMap =
                     #{description := Description,
                       short := Description,
                       type := type(),
                       keywords := [atom()],
                       status := status(),
                       experimental => release(),
                       approved => release(),
                       permanent => release(),
                       rejected => release()}

              Return a map containing information about the given feature.

       enabled() -> [feature()]

              Return a list of the features that are currently enabled.  Note  that  the  set  of
              enabled is set during startup and can then not be changed.

       used(Module :: module() | file:filename()) -> [feature()]

              Return  the list of features enabled when compiling the module. The module need not
              be loaded, but is found if it exists in the loadpath. If not all features  used  by
              the module are enabled in the runtime, loading the module is not allowed.