zig/test/cases/compile_errors/function_ptr_alignment.zig
Jacob Young d10c52c194 AstGen: disallow alignment on function types
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.
2024-03-17 03:06:17 +01:00

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'