{"record":{"id":"f7af73b29d075646","repo":"emberjs/ember.js","slug":"cannot-call-setcomponenttemplate-on-debugtost","errorCode":null,"errorMessage":"Cannot call `setComponentTemplate` on `${debugToString!(obj)}`","messagePattern":"Cannot call `setComponentTemplate` on `(.+?)`","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/@glimmer/manager/lib/public/template.ts","lineNumber":12,"sourceCode":"import { DEBUG } from '@glimmer/env';\nimport type { TemplateFactory } from '@glimmer/interfaces';\nimport debugToString from '@glimmer/debug-util/lib/debug-to-string';\n\nconst TEMPLATES: WeakMap<object, TemplateFactory> = new WeakMap();\n\nconst getPrototypeOf = Reflect.getPrototypeOf;\n\nexport function setComponentTemplate(factory: TemplateFactory, obj: object) {\n  if (DEBUG && !(obj !== null && (typeof obj === 'object' || typeof obj === 'function'))) {\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- @fixme\n    throw new Error(`Cannot call \\`setComponentTemplate\\` on \\`${debugToString!(obj)}\\``);\n  }\n\n  if (DEBUG && TEMPLATES.has(obj)) {\n    throw new Error(\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- @fixme\n      `Cannot call \\`setComponentTemplate\\` multiple times on the same class (\\`${debugToString!(\n        obj\n      )}\\`)`\n    );\n  }\n\n  TEMPLATES.set(obj, factory);\n\n  return obj;\n}\n\nexport function getComponentTemplate(obj: object): TemplateFactory | undefined {\n  let pointer: object | null = obj;","sourceCodeStart":1,"sourceCodeEnd":30,"githubUrl":"https://github.com/emberjs/ember.js/blob/26f97246a8bf2e28edf26ac3093da2e86c04ffc5/packages/@glimmer/manager/lib/public/template.ts#L1-L30","documentation":"Error \"Cannot call `setComponentTemplate` on `${debugToString!(obj)}`\" thrown in emberjs/ember.js.","triggerScenarios":"Thrown at packages/@glimmer/manager/lib/public/template.ts:12 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":"26f97246a8bf2e28edf26ac3093da2e86c04ffc5","analyzedAt":"2026-09-01T05:01:28.182Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}