Provided by: erlang-manpages_25.3.2.8+dfsg-1ubuntu4_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.