| ... | @@ -7598,6 +7598,9 @@ fn analyzeCall( | ... | @@ -7598,6 +7598,9 @@ fn analyzeCall( |
| 7598 | | 7598 | |
| 7599 | const module_fn = zcu.funcInfo(module_fn_index); | 7599 | const module_fn = zcu.funcInfo(module_fn_index); |
| 7600 | | 7600 | |
| | 7601 | // The call site definitely depends on the function's signature. |
| | 7602 | try sema.declareDependency(.{ .src_hash = module_fn.zir_body_inst }); |
| | 7603 | |
| 7601 | // This is not a function instance, so the function's `Nav` has a | 7604 | // This is not a function instance, so the function's `Nav` has a |
| 7602 | // `Cau` -- we don't need to check `generic_owner`. | 7605 | // `Cau` -- we don't need to check `generic_owner`. |
| 7603 | const fn_nav = ip.getNav(module_fn.owner_nav); | 7606 | const fn_nav = ip.getNav(module_fn.owner_nav); |
| ... | @@ -7755,6 +7758,10 @@ fn analyzeCall( | ... | @@ -7755,6 +7758,10 @@ fn analyzeCall( |
| 7755 | break :res Air.internedToRef(memoized_call.result); | 7758 | break :res Air.internedToRef(memoized_call.result); |
| 7756 | } | 7759 | } |
| 7757 | | 7760 | |
| | 7761 | // Since we're doing an inline call, we depend on the source code of the whole |
| | 7762 | // function declaration. |
| | 7763 | try sema.declareDependency(.{ .src_hash = fn_cau.zir_index }); |
| | 7764 | |
| 7758 | new_fn_info.return_type = sema.fn_ret_ty.toIntern(); | 7765 | new_fn_info.return_type = sema.fn_ret_ty.toIntern(); |
| 7759 | if (!is_comptime_call and !block.is_typeof) { | 7766 | if (!is_comptime_call and !block.is_typeof) { |
| 7760 | const zir_tags = sema.code.instructions.items(.tag); | 7767 | const zir_tags = sema.code.instructions.items(.tag); |