{"record":{"id":"58eecc5385969775","repo":"oven-sh/bun","slug":"cannot-derive-default-on-a-required-type","errorCode":null,"errorMessage":"Cannot derive default on a required type","messagePattern":"Cannot derive default on a required type","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/codegen/bindgen-lib-internal.ts","lineNumber":570,"sourceCode":"  get required() {\n    if (this.flags.required) {\n      throw new Error(\"This type already has required set\");\n    }\n    if (this.flags.required) {\n      throw new Error(\"Cannot derive required on an optional type\");\n    }\n    return new TypeImpl(this.kind, this.data, {\n      ...this.flags,\n      required: true,\n    });\n  }\n\n  default(def: any) {\n    if (\"default\" in this.flags) {\n      throw new Error(\"This type already has a default value\");\n    }\n    if (this.flags.required) {\n      throw new Error(\"Cannot derive default on a required type\");\n    }\n    this.assertDefaultIsValid(def);\n    return new TypeImpl(this.kind, this.data, {\n      ...this.flags,\n      default: def,\n    });\n  }\n\n  clamp(min?: number | bigint, max?: number | bigint) {\n    return this.#rangeModifier(min, max, \"clamp\");\n  }\n\n  enforceRange(min?: number | bigint, max?: number | bigint) {\n    return this.#rangeModifier(min, max, \"enforce\");\n  }\n\n  get nonNull() {\n    if (this.flags.nonNull) {","sourceCodeStart":552,"sourceCodeEnd":588,"githubUrl":"https://github.com/oven-sh/bun/blob/8c5296ac459e8252d3cd702f3fbcbb0c249d95d5/src/codegen/bindgen-lib-internal.ts#L552-L588","documentation":"Error \"Cannot derive default on a required type\" thrown in oven-sh/bun.","triggerScenarios":"Thrown at src/codegen/bindgen-lib-internal.ts:570 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":"8c5296ac459e8252d3cd702f3fbcbb0c249d95d5","analyzedAt":"2026-08-16T08:01:58.794Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}