From b3c670e45438119bff36540e8a6df2115c67d0b9 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sun, 5 Jun 2022 15:45:23 -0700 Subject: [PATCH] add ptrCastConst --- src/lib.zig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/lib.zig b/src/lib.zig index 1fa4e6af68c02792306a26d5d77f0114bce964b7..f6271f001259f53a7721246a6b8e19cfb169a524 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -227,6 +227,11 @@ pub fn ptrCast(comptime T: type, ptr: *anyopaque) *T { return @ptrCast(*T, @alignCast(@alignOf(T), ptr)); } +pub fn ptrCastConst(comptime T: type, ptr: *const anyopaque) *const T { + if (@alignOf(T) == 0) @compileError(@typeName(T)); + return @ptrCast(*const T, @alignCast(@alignOf(T), ptr)); +} + pub fn sortBy(comptime T: type, items: []T, comptime field: std.meta.FieldEnum(T)) void { std.sort.sort(T, items, {}, struct { fn f(_: void, lhs: T, rhs: T) bool { -- 2.54.0