std.fmt.format: add helpful compile error for non-tuple args

This commit is contained in:
Andrew Kelley 2019-12-31 13:13:13 -05:00
parent d972d1c942
commit 25051832b3
No known key found for this signature in database
GPG Key ID: 7C5F548F728501A9

View File

@ -94,6 +94,9 @@ pub fn format(
args: var,
) Errors!void {
const ArgSetType = @IntType(false, 32);
if (@typeInfo(@TypeOf(args)) != .Struct) {
@compileError("Expected tuple or struct argument, found " ++ @typeName(@TypeOf(args)));
}
if (args.len > ArgSetType.bit_count) {
@compileError("32 arguments max are supported per format call");
}