Files
sx/src/ir
agra 432da229a7 ffi: fill inferExprType + inferGenericReturnType silent-default holes
Three general fixes to AST-level type inference that previously fell
through to `.s64`:

- `inferGenericReturnType` resolved the function's return type only
  when `tmp_bindings` was non-empty; otherwise it bailed to `.s64`,
  which silently mis-typed pack-fns with non-generic literal return
  types (e.g. `walk(..$args) -> string`). Always resolve via
  `resolveTypeWithBindings`, even with empty bindings.
- `inferExprType` `binary_op` arm: `.in_op` now returns `.bool`
  alongside the other comparison/logical ops. Previously the `else`
  branch returned the LHS type (e.g. `2 in (1,2,3)` → `s64`).
- `inferExprType` field-access call arm: when a namespace-qualified
  call (`pkg.hello()`) hasn't been lowered yet, consult `fn_ast_map`
  for the qualified name AND the bare field name (matches
  `lowerCall`'s effective-name resolution order). Without this,
  cross-module calls returned `.s64`.

Surfaces during the still-deferred print/format → `..$args`
migration where the pack mono's per-position type tag depends on
correct call-arg type inference. The fixes themselves are general
improvements that stand independently. 217/217.
2026-05-28 07:38:09 +03:00
..
ir
2026-02-26 02:25:02 +02:00
ir
2026-02-26 02:25:02 +02:00
ir
2026-02-26 02:25:02 +02:00
ir
2026-02-26 02:25:02 +02:00
ir
2026-02-26 02:25:02 +02:00