oven-sh/bun · error · Error
Required argument ${name} cannot follow an optional argument
Error message
Required argument ${name} cannot follow an optional argument What it means
Error "Required argument ${name} cannot follow an optional argument" thrown in oven-sh/bun.
Source
Thrown at src/codegen/bindgen-lib-internal.ts:843
return func;
}
function validateVariant(variant: any) {
let minRequiredArgs = 0;
let seenOptionalArgument = false;
let i = 0;
for (const [name, type] of Object.entries(variant.args) as [string, TypeImpl][]) {
if (!(type instanceof TypeImpl)) {
throw new Error(`Expected type for argument ${name}, got ${inspect(type)}`);
}
i += 1;
if (type.isVirtualArgument()) {
continue;
}
if (!type.flags.optional && !("default" in type.flags)) {
if (seenOptionalArgument) {
throw new Error(`Required argument ${name} cannot follow an optional argument`);
}
minRequiredArgs++;
} else {
seenOptionalArgument = true;
}
}
return { minRequiredArgs };
}
function snapshotCallerLocation(): string {
const stack = new Error().stack!;
const lines = stack.split("\n");
let i = 1;
for (; i < lines.length; i++) {
if (!lines[i].includes(import.meta.dir)) {
return lines[i];
}View on GitHub (pinned to 8c5296ac45)
When it happens
Trigger: Thrown at src/codegen/bindgen-lib-internal.ts:843 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of oven-sh/bun@8c5296ac45 (2026-08-16).
Data as JSON: /api/errors/1e99192d48a7eefb.
Report an issue: GitHub.