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 {