fcbb7426fa
See #770 To help automatically translate code, see the zig-fmt-pointer-reform-2 branch. This will convert all & into *. Due to the syntax ambiguity (which is why we are making this change), even address-of & will turn into *, so you'll have to manually fix thes instances. You will be guaranteed to get compile errors for them - expected 'type', found 'foo'
18 lines
397 B
Zig
18 lines
397 B
Zig
const assert = @import("std").debug.assert;
|
|
|
|
fn get_foo() fn (*u8) usize {
|
|
comptime {
|
|
return struct {
|
|
fn func(ptr: *u8) usize {
|
|
var u = @ptrToInt(ptr);
|
|
return u;
|
|
}
|
|
}.func;
|
|
}
|
|
}
|
|
|
|
test "define a function in an anonymous struct in comptime" {
|
|
const foo = get_foo();
|
|
assert(foo(@intToPtr(*u8, 12345)) == 12345);
|
|
}
|