100/100 regression tests pass (+ffi-objc-call-02-void-return xfail snapshot). The intrinsic with no `inline if false` guard reaches sema/codegen and trips an "unresolved: 'unknown_expr'" — the FfiIntrinsicCall AST node from Phase 1.1 has no lowering rules in lower.zig / emit_llvm.zig yet. nil receiver was chosen so the test doesn't need a real Obj-C object graph: the runtime guarantees `[nil msg]` is a no-op with zero result for void returns. macOS-gated via `inline if OS == .macos` so the runner stays portable. Next commit: emit_llvm.zig produces the per-call-site %sel = call ptr @sel_registerName(ptr "init.0") call void @objc_msgSend(ptr null, ptr %sel) lowering. Snapshot flips to "ok". Selector interning (one shared global per unique selector string) lands as a separate step (1.5).
863 B
863 B