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>] otherwise

View 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.