zig/test/behavior/fn_in_struct_in_comptime.zig
mlugg f26dda2117 all: migrate code to new cast builtin syntax
Most of this migration was performed automatically with `zig fmt`. There
were a few exceptions which I had to manually fix:

* `@alignCast` and `@addrSpaceCast` cannot be automatically rewritten
* `@truncate`'s fixup is incorrect for vectors
* Test cases are not formatted, and their error locations change
2023-06-24 16:56:39 -07:00

19 lines
448 B
Zig

const builtin = @import("builtin");
const expect = @import("std").testing.expect;
fn get_foo() fn (*u8) usize {
comptime {
return struct {
fn func(ptr: *u8) usize {
var u = @intFromPtr(ptr);
return u;
}
}.func;
}
}
test "define a function in an anonymous struct in comptime" {
const foo = get_foo();
try expect(foo(@as(*u8, @ptrFromInt(12345))) == 12345);
}