Sema: defer extern function type validation to declaration or call

Because of packed structs, checking whether a type is extern-compatible
requires that its layout be resolved. For functions to do this
validation as soon as the function type is created would lead to
dependency loops in cases like '*const fn (*@This()) void callconv(.c)`.

Therefore, when creating a function *type*, we no longer perform this
check immediately, instead waiting until the function is called.
07445c1f9fMatthew Lugg committed on 3/6/2026, 12:36:25 PMparentc503999
3 files changedLine totals unavailable