mirror of
https://github.com/ziglang/zig.git
synced 2026-01-01 19:13:16 +00:00
Sema: use unwrapped generic owner in getFuncInstanceIes
This commit is contained in:
parent
972cab5bb0
commit
89db4f2e93
@ -9455,7 +9455,7 @@ pub fn getFuncInstanceIes(
|
||||
try items.ensureUnusedCapacity(4);
|
||||
|
||||
const generic_owner = unwrapCoercedFunc(ip, arg.generic_owner);
|
||||
const generic_owner_ty = ip.indexToKey(ip.funcDeclInfo(arg.generic_owner).ty).func_type;
|
||||
const generic_owner_ty = ip.indexToKey(ip.funcDeclInfo(generic_owner).ty).func_type;
|
||||
|
||||
// The strategy here is to add the function decl unconditionally, then to
|
||||
// ask if it already exists, and if so, revert the lengths of the mutated
|
||||
|
||||
@ -619,3 +619,15 @@ test "generic parameter resolves to comptime-only type but is not marked comptim
|
||||
const ct_result = comptime S.foo(u8, false, S.bar);
|
||||
comptime std.debug.assert(ct_result == 123);
|
||||
}
|
||||
|
||||
test "instantiate coerced generic function" {
|
||||
const S = struct {
|
||||
fn generic(comptime T: type, arg: *const u8) !void {
|
||||
_ = T;
|
||||
_ = arg;
|
||||
}
|
||||
};
|
||||
const coerced: fn (comptime type, *u8) anyerror!void = S.generic;
|
||||
var x: u8 = 20;
|
||||
try coerced(u8, &x);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user