From 49c842a4e042e397a3511bdf558c554e5e9ee797 Mon Sep 17 00:00:00 2001 From: Richard Feldman Date: Tue, 18 Nov 2025 19:26:51 -0500 Subject: [PATCH] Strip Num. prefix from number type display MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Number types are stored internally as 'Num.U8', 'Num.F32', etc. (because they're nested in the Num module in Builtin.roc), but should display to users as just 'U8', 'F32', etc. Updated TypeWriter.getDisplayName() to strip the 'Num.' prefix when displaying nominal number types. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/types/TypeWriter.zig | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/types/TypeWriter.zig b/src/types/TypeWriter.zig index ef85281893..3eee779470 100644 --- a/src/types/TypeWriter.zig +++ b/src/types/TypeWriter.zig @@ -1043,5 +1043,13 @@ fn getDisplayName(self: *const TypeWriter, idx: Ident.Idx) []const u8 { return self.idents.getText(display_idx); } - return self.idents.getText(idx); + const name = self.idents.getText(idx); + + // Strip "Num." prefix from builtin number types for display + // Number types are stored as "Num.U8", "Num.F32", etc. but should display as "U8", "F32" + if (std.mem.startsWith(u8, name, "Num.")) { + return name[4..]; // Skip "Num." + } + + return name; }