From 3f0f0b7f34922ccc63d2a8e12b4b9d2c8754218c Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Fri, 13 Mar 2026 19:42:41 -0700 Subject: [PATCH] add Pointee --- src/Pointee.zig | 16 ++++++++++++++++ src/lib.zig | 1 + 2 files changed, 17 insertions(+) create mode 100644 src/Pointee.zig diff --git a/src/Pointee.zig b/src/Pointee.zig new file mode 100644 index 0000000000000000000000000000000000000000..d051bfa38127262f9580cf3bfaf01f725302069c --- /dev/null +++ b/src/Pointee.zig @@ -0,0 +1,16 @@ +const std = @import("std"); +const extras = @import("./lib.zig"); + +pub fn Pointee(T: type) type { + return switch (@typeInfo(T)) { + .pointer => |p| p.child, + else => T, + }; +} + +test { + try std.testing.expect(Pointee(u8) == u8); +} +test { + try std.testing.expect(Pointee(*u8) == u8); +} diff --git a/src/lib.zig b/src/lib.zig index 7a2b85c9df7cd51cdaa0a90e16e0a1185a74d029..1ef0e476df96b6c6459235f0f184067edb53dbc0 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -120,3 +120,4 @@ pub usingnamespace @import("./compareFnRange.zig"); pub usingnamespace @import("./asciiLower.zig"); pub usingnamespace @import("./parseDigits.zig"); pub usingnamespace @import("./from_hex.zig"); +pub usingnamespace @import("./Pointee.zig"); -- 2.54.0