{"record":{"id":"f76ce615fe7ef4dc","repo":"puppetlabs/puppet","slug":"function-name-the-parser-did-not-produce-a-l","errorCode":null,"errorMessage":"%{function_name}(): the parser did not produce a LambdaExpression, got '%{class_name}'","messagePattern":"%(.+?)\\(\\): the parser did not produce a LambdaExpression, got '%(.+?)'","errorType":"exception","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/puppet/pops/evaluator/epp_evaluator.rb","lineNumber":63,"sourceCode":"    parser = Puppet::Pops::Parser::EvaluatingParser::EvaluatingEppParser.new\n    begin\n      result = parser.parse_file(template_file)\n    rescue Puppet::ParseError => e\n      # TRANSLATORS 'epp()' is a method name and 'EPP' refers to 'Embedded Puppet (EPP) template' and should not be translated\n      raise ArgumentError, _(\"epp(): Invalid EPP: %{detail}\") % { detail: e.message }\n    end\n\n    # Evaluate (and check template_args)\n    evaluate(parser, 'epp', scope, true, result, template_args)\n  end\n\n  def self.evaluate(parser, func_name, scope, use_global_scope_only, parse_result, template_args)\n    template_args, template_args_set = handle_template_args(func_name, template_args)\n\n    body = parse_result.body\n    unless body.is_a?(Puppet::Pops::Model::LambdaExpression)\n      # TRANSLATORS 'LambdaExpression' is a class name and should not be translated\n      raise ArgumentError, _(\"%{function_name}(): the parser did not produce a LambdaExpression, got '%{class_name}'\") %\n                           { function_name: func_name, class_name: body.class }\n    end\n    unless body.body.is_a?(Puppet::Pops::Model::EppExpression)\n      # TRANSLATORS 'EppExpression' is a class name and should not be translated\n      raise ArgumentError, _(\"%{function_name}(): the parser did not produce an EppExpression, got '%{class_name}'\") %\n                           { function_name: func_name, class_name: body.body.class }\n    end\n    unless parse_result.definitions.empty?\n      # TRANSLATORS 'EPP' refers to 'Embedded Puppet (EPP) template'\n      raise ArgumentError, _(\"%{function_name}(): The EPP template contains illegal expressions (definitions)\") %\n                           { function_name: func_name }\n    end\n\n    parameters_specified = body.body.parameters_specified\n    if parameters_specified || template_args_set\n      enforce_parameters = parameters_specified\n    else\n      enforce_parameters = true","sourceCodeStart":45,"sourceCodeEnd":81,"githubUrl":"https://github.com/puppetlabs/puppet/blob/e227c27540975c25aa22d533a52424a9d2fc886a/lib/puppet/pops/evaluator/epp_evaluator.rb#L45-L81","documentation":"Error \"%{function_name}(): the parser did not produce a LambdaExpression, got '%{class_name}'\" thrown in puppetlabs/puppet.","triggerScenarios":"Thrown at lib/puppet/pops/evaluator/epp_evaluator.rb:63 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"}