{"record":{"id":"979b01abc833e4ac","repo":"ReactiveX/rxjs","slug":"illegal-constructor","errorCode":null,"errorMessage":"Illegal constructor","messagePattern":"Illegal constructor","errorType":"exception","errorClass":"TypeError","httpStatus":null,"severity":"error","filePath":"packages/observable-polyfill/src/index.ts","lineNumber":132,"sourceCode":"    },\n    { once: true }\n  );\n}\n\nclass Subscriber<T> implements Observer<T> {\n  #teardowns: Teardown[] = [];\n  #closed = false;\n\n  readonly #observerList = new Set<SafeObserver<T>>();\n\n  readonly #abortController = new AbortController();\n\n  #assertBrand(): void {}\n\n  constructor(...args: [symbol?]) {\n    const token = args[0];\n    if (token !== subscriberToken) {\n      throw new TypeError('Illegal constructor');\n    }\n  }\n\n  [addObserver](observer: SafeObserver<T>): (reason?: unknown) => void {\n    this.#observerList.add(observer);\n\n    return (reason?: unknown) => {\n      this.#observerList.delete(observer);\n      if (this.#observerList.size === 0) {\n        this[closeSubscriber](reason);\n      }\n    };\n  }\n\n  [closeSubscriber](reason?: unknown): void {\n    if (!this.active) {\n      return;\n    }","sourceCodeStart":114,"sourceCodeEnd":150,"githubUrl":"https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/observable-polyfill/src/index.ts#L114-L150","documentation":"Error \"Illegal constructor\" thrown in ReactiveX/rxjs.","triggerScenarios":"Thrown at packages/observable-polyfill/src/index.ts:132 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":"54796b38a57e6309f9861e174737479bb3f63f61","analyzedAt":"2026-08-28T10:21:27.410Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}