mirror of
https://github.com/ziglang/zig.git
synced 2026-02-12 20:37:54 +00:00
Sema: fix error notes with wrong extern type
This commit is contained in:
parent
33644546a0
commit
e9a6197a8e
@ -25573,7 +25573,7 @@ fn explainWhyTypeIsNotExtern(
|
||||
try mod.errNoteNonLazy(src_loc, msg, "pointer to comptime-only type '{}'", .{pointee_ty.fmt(sema.mod)});
|
||||
try sema.explainWhyTypeIsComptime(msg, src_loc, ty);
|
||||
}
|
||||
try sema.explainWhyTypeIsNotExtern(msg, src_loc, pointee_ty, position);
|
||||
try sema.explainWhyTypeIsNotExtern(msg, src_loc, pointee_ty, .other);
|
||||
}
|
||||
},
|
||||
.Void => try mod.errNoteNonLazy(src_loc, msg, "'void' is a zero bit type; for C 'void' use 'anyopaque'", .{}),
|
||||
|
||||
@ -0,0 +1,14 @@
|
||||
const Foo = extern struct {
|
||||
f: *const fn() void,
|
||||
};
|
||||
|
||||
pub fn entry() void {
|
||||
_ = (Foo{}).f;
|
||||
}
|
||||
|
||||
// error
|
||||
// backend=stage2
|
||||
// target=native
|
||||
//
|
||||
// :2:8: error: extern structs cannot contain fields of type '*const fn () void'
|
||||
// :2:8: note: extern function must specify calling convention
|
||||
Loading…
x
Reference in New Issue
Block a user