# File lib/puppet/util/provider_features.rb, line 56
56:     def feature(name, docs, hash = {})
57:         @features ||= {}
58:         raise(Puppet::DevError, "Feature %s is already defined" % name) if @features.include?(name)
59:         begin
60:             obj = ProviderFeature.new(name, docs, hash)
61:             @features[obj.name] = obj
62:         rescue ArgumentError => detail
63:             error = ArgumentError.new(
64:                 "Could not create feature %s: %s" % [name, detail]
65:             )
66:             error.set_backtrace(detail.backtrace)
67:             raise error
68:         end
69:     end