puppetlabs/puppet · error · ArgumentError

Can only append Binary to a Binary

Error message

Can only append Binary to a Binary

What it means

Error "Can only append Binary to a Binary" thrown in puppetlabs/puppet.

Source

Thrown at lib/puppet/pops/evaluator/evaluator_impl.rb:1243

            # Hash[[[a,1], [b,2]]] => {a => 1, b => 2}
            # Use type calculator to determine if array is Array[Array[?]], and if so use second form
            # of call
            t = @@type_calculator.infer(y)
            if t.element_type.is_a? Types::PArrayType
              y.to_h
            else
              Hash[*y]
            end
          else
            raise ArgumentError, _('Can only append Array or Hash to a Hash')
          end
      x.merge y # new hash with overwrite
    when URI
      raise ArgumentError, _('An URI can only be merged with an URI or String') unless y.is_a?(String) || y.is_a?(URI)

      x + y
    when Types::PBinaryType::Binary
      raise ArgumentError, _('Can only append Binary to a Binary') unless y.is_a?(Types::PBinaryType::Binary)

      Types::PBinaryType::Binary.from_binary_string(x.binary_buffer + y.binary_buffer)
    else
      concatenate([x], y)
    end
  end

  # Produces the result x \ y (set difference)
  # When `x` is an Array, `y` is transformed to an array and then all matching elements removed from x.
  # When `x` is a Hash, all contained keys are removed from x as listed in `y` if it is an Array, or all its keys if it is a Hash.
  # The difference is returned. The given `x` and `y` are not modified by this operation.
  # @raise [ArgumentError] when `x` is neither an Array nor a Hash
  #
  def delete(x, y)
    result = x.dup
    case x
    when Array
      y = case y

View on GitHub (pinned to e227c27540)

When it happens

Trigger: Thrown at lib/puppet/pops/evaluator/evaluator_impl.rb:1243 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/ce871b3ac42b6754. Report an issue: GitHub.