From 21864d8d51872b98dbb1ca3dd3d86d2cb0d8a364 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 15 Feb 2022 16:25:28 +0000 Subject: [PATCH] Improve BAD ENUM VALUE message in fmt #1496 --- core/fmt/fmt.odin | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/core/fmt/fmt.odin b/core/fmt/fmt.odin index 932fc0bb8..360a00b32 100644 --- a/core/fmt/fmt.odin +++ b/core/fmt/fmt.odin @@ -1065,11 +1065,13 @@ fmt_enum :: proc(fi: ^Info, v: any, verb: rune) { case 'i', 'd', 'f': fmt_arg(fi, any{v.data, runtime.type_info_base(e.base).id}, verb) case 's', 'v': - str, ok := enum_value_to_string(v) - if !ok { - str = "%!(BAD ENUM VALUE)" + if str, ok := enum_value_to_string(v); ok { + io.write_string(fi.writer, str) + } else { + io.write_string(fi.writer, "%!(BAD ENUM VALUE=") + fmt_arg(fi, any{v.data, runtime.type_info_base(e.base).id}, 'i') + io.write_string(fi.writer, ")") } - io.write_string(fi.writer, str) } } }