diff options
Diffstat (limited to 'std/fmt/index.zig')
| -rw-r--r-- | std/fmt/index.zig | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/std/fmt/index.zig b/std/fmt/index.zig index 27ab3dd0dd..b378afa1b0 100644 --- a/std/fmt/index.zig +++ b/std/fmt/index.zig @@ -312,7 +312,7 @@ fn formatIntUnsigned(value: var, base: u8, uppercase: bool, width: usize, // max_int_digits accounts for the minus sign. when printing an unsigned // number we don't need to do that. var buf: [max_int_digits - 1]u8 = undefined; - var a = value; + var a = if (@sizeOf(@typeOf(value)) == 1) u8(value) else value; var index: usize = buf.len; while (true) { @@ -508,6 +508,12 @@ test "fmt.format" { const result = bufPrint(buf1[0..], "error union: {}\n", value); assert(mem.eql(u8, result, "error union: error.InvalidChar\n")); } + { + var buf1: [32]u8 = undefined; + const value: u3 = 0b101; + const result = bufPrint(buf1[0..], "u3: {}\n", value); + assert(mem.eql(u8, result, "u3: 5\n")); + } } pub fn trim(buf: []const u8) -> []const u8 { |
