{"record":{"id":"ea56b0df91e99d81","repo":"puppetlabs/puppet","slug":"no-implementation-mapping-found-for-puppet-type","errorCode":null,"errorMessage":"No implementation mapping found for Puppet Type %{type_name}","messagePattern":"No implementation mapping found for Puppet Type %(.+?)","errorType":"exception","errorClass":"SerializationError","httpStatus":null,"severity":"error","filePath":"lib/puppet/pops/serialization/deserializer.rb","lineNumber":48,"sourceCode":"      case val\n      when Extension::Tabulation\n        @read[val.index]\n      when Extension::Default\n        :default\n      when Extension::ArrayStart\n        result = remember([])\n        val.size.times { result << read }\n        result\n      when Extension::MapStart\n        result = remember({})\n        val.size.times { key = read; result[key] = read }\n        result\n      when Extension::SensitiveStart\n        Types::PSensitiveType::Sensitive.new(read)\n      when Extension::PcoreObjectStart\n        type_name = val.type_name\n        type = Types::TypeParser.singleton.parse(type_name, @loader)\n        raise SerializationError, _(\"No implementation mapping found for Puppet Type %{type_name}\") % { type_name: type_name } if type.is_a?(Types::PTypeReferenceType)\n\n        result = type.read(val.attribute_count, self)\n        if result.is_a?(Types::PObjectType)\n          existing_type = loader.load(:type, result.name)\n          if result.eql?(existing_type)\n            result = existing_type\n          else\n            # Add result to the loader unless it is equal to the existing_type. The add\n            # will only succeed when the existing_type is nil.\n            loader.add_entry(:type, result.name, result, nil)\n          end\n        end\n        result\n      when Extension::ObjectStart\n        type = read\n        type.read(val.attribute_count - 1, self)\n      when Numeric, String, true, false, nil\n        val","sourceCodeStart":30,"sourceCodeEnd":66,"githubUrl":"https://github.com/puppetlabs/puppet/blob/e227c27540975c25aa22d533a52424a9d2fc886a/lib/puppet/pops/serialization/deserializer.rb#L30-L66","documentation":"Error \"No implementation mapping found for Puppet Type %{type_name}\" thrown in puppetlabs/puppet.","triggerScenarios":"Thrown at lib/puppet/pops/serialization/deserializer.rb:48 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"}