{"record":{"id":"bc083e09c5cd4854","repo":"puppetlabs/puppet","slug":"missing-default-value-for-type-name-name","errorCode":null,"errorMessage":"Missing default value for %{type_name}[%{name}]","messagePattern":"Missing default value for %(.+?)\\[%(.+?)\\]","errorType":"exception","errorClass":"Puppet::Pops::Serialization::SerializationError","httpStatus":null,"severity":"error","filePath":"lib/puppet/pops/serialization/object.rb","lineNumber":29,"sourceCode":"  include InstanceReader\n\n  def read(type, impl_class, value_count, deserializer)\n    (names, types, required_count) = type.parameter_info(impl_class)\n    max = names.size\n    unless value_count >= required_count && value_count <= max\n      raise Serialization::SerializationError, _(\"Feature count mismatch for %{value0}. Expected %{required_count} - %{max}, actual %{value_count}\") % { value0: impl_class.name, required_count: required_count, max: max, value_count: value_count }\n    end\n\n    # Deserializer must know about this instance before we read its attributes\n    val = deserializer.remember(impl_class.allocate)\n    args = Array.new(value_count) { deserializer.read }\n    types.each_with_index do |ptype, index|\n      if index < args.size\n        arg = args[index]\n        Types::TypeAsserter.assert_instance_of(nil, ptype, arg) { \"#{type.name}[#{names[index]}]\" } unless arg == :default\n      else\n        attr = type[names[index]]\n        raise Serialization::SerializationError, _(\"Missing default value for %{type_name}[%{name}]\") % { type_name: type.name, name: names[index] } unless attr && attr.value?\n\n        args << attr.value\n      end\n    end\n    val.send(:initialize, *args)\n    val\n  end\n\n  INSTANCE = ObjectReader.new\nend\n\n# Instance writer for objects that implement {Types::PuppetObject}\n# @api private\nclass ObjectWriter\n  include InstanceWriter\n\n  def write(type, value, serializer)\n    impl_class = value.class","sourceCodeStart":11,"sourceCodeEnd":47,"githubUrl":"https://github.com/puppetlabs/puppet/blob/e227c27540975c25aa22d533a52424a9d2fc886a/lib/puppet/pops/serialization/object.rb#L11-L47","documentation":"Error \"Missing default value for %{type_name}[%{name}]\" thrown in puppetlabs/puppet.","triggerScenarios":"Thrown at lib/puppet/pops/serialization/object.rb:29 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e227c27540975c25aa22d533a52424a9d2fc886a","analyzedAt":"2026-08-21T20:49:46.650Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}