mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 14:23:09 +00:00
A pointer type already has an alignment, so this information does not need to be duplicated on the function type. This already has precedence with addrspace which is already disallowed on function types for this reason. Also fixes `@TypeOf(&func)` to have the correct addrspace and alignment.
17 lines
484 B
Zig
17 lines
484 B
Zig
fn align1() align(1) void {}
|
|
fn align2() align(2) void {}
|
|
|
|
comptime {
|
|
_ = @as(*align(1) const fn () void, &align2);
|
|
_ = @as(*align(1) const fn () void, &align1);
|
|
_ = @as(*align(2) const fn () void, &align2);
|
|
_ = @as(*align(2) const fn () void, &align1);
|
|
}
|
|
|
|
// error
|
|
// backend=stage2
|
|
// target=native
|
|
//
|
|
// :8:41: error: expected type '*align(2) const fn () void', found '*const fn () void'
|
|
// :8:41: note: pointer alignment '1' cannot cast into pointer alignment '2'
|