module: add check for missing injected arguments
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
34030faa9d
commit
393a3e5e5e
1 changed files with 6 additions and 0 deletions
|
|
@ -578,6 +578,12 @@ inline fn injectArgs(
|
|||
continue :outer;
|
||||
}
|
||||
}
|
||||
if (@typeInfo(arg.type) == .Pointer and @hasDecl(std.meta.Child(arg.type), "IsInjectedArgument")) {
|
||||
// Argument is declared as injectable, but we do not have a value to inject for it.
|
||||
// This can be the case if e.g. a Mod() parameter is specified, but that module is
|
||||
// not registered.
|
||||
@compileError("mach: cannot inject argument of type: " ++ @typeName(arg.type) ++ " - is it registered in your program's top-level `pub const modules = .{};`?");
|
||||
}
|
||||
|
||||
// First standard argument
|
||||
@field(args, arg.name) = std_args[std_args_index];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue