puppetlabs/puppet · error · ArgumentError
Puppet::Pops::Types::TypeMismatchDescriber.describe_signatur
Error message
Puppet::Pops::Types::TypeMismatchDescriber.describe_signatures(instance.class.name, signatures, args_type)
What it means
Error "Puppet::Pops::Types::TypeMismatchDescriber.describe_signatures(instance.class.name, signatures, args_type)" thrown in puppetlabs/puppet.
Source
Thrown at lib/puppet/pops/functions/dispatcher.rb:40
end
def find_matching_dispatcher(args, &block)
@dispatchers.find { |d| d.type.callable_with?(args, block) }
end
# Dispatches the call to the first found signature (entry with matching type).
#
# @param instance [Puppet::Functions::Function] - the function to call
# @param calling_scope [T.B.D::Scope] - the scope of the caller
# @param args [Array<Object>] - the given arguments in the form of an Array
# @return [Object] - what the called function produced
#
# @api private
def dispatch(instance, calling_scope, args, &block)
dispatcher = find_matching_dispatcher(args, &block)
unless dispatcher
args_type = Puppet::Pops::Types::TypeCalculator.singleton.infer_set(block_given? ? args + [block] : args)
raise ArgumentError, Puppet::Pops::Types::TypeMismatchDescriber.describe_signatures(instance.class.name, signatures, args_type)
end
if dispatcher.argument_mismatch_handler?
msg = dispatcher.invoke(instance, calling_scope, args)
raise ArgumentError, "'#{instance.class.name}' #{msg}"
end
catch(:next) do
dispatcher.invoke(instance, calling_scope, args, &block)
end
end
# Adds a dispatch directly to the set of dispatchers.
# @api private
def add(a_dispatch)
@dispatchers << a_dispatch
end
# Produces a CallableType for a single signature, and a Variant[<callables>] otherwiseView on GitHub (pinned to e227c27540)
When it happens
Trigger: Thrown at lib/puppet/pops/functions/dispatcher.rb:40 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of puppetlabs/puppet@e227c27540 (2026-08-21).
Data as JSON: /api/errors/cf26cd82da2d0e2e.
Report an issue: GitHub.