ffi 1.11–1.13: #objc_call inside struct method / protocol / closure / generic
108/108 regression tests pass (+ffi-objc-call-09-in-construct, +issue-0038 from the prior commit). One trivial Obj-C call (`[obj hash]` returning NSUInteger) routed through four sx surface constructs: 1. struct method body Probe.fetch 2. protocol impl method body impl Hashable for Probe 3. closure value body make_hasher 4. generic function body hash_through(recv: $T) No new ABI shapes touched — pins that the `objc_msg_send` lowering emits identical call shapes regardless of enclosing scope. Each case validates the result `h_N == h_1` after threading `recv` appropriately for each context. The closure path reaches `recv` via a module-level global rather than capturing the surrounding parameter — issue-0038 (prior commit) documents the closure free-variable analyzer missing the `FfiIntrinsicCall` node, with a clean workaround pinned.
This commit is contained in:
1
tests/expected/ffi-objc-call-09-in-construct.exit
Normal file
1
tests/expected/ffi-objc-call-09-in-construct.exit
Normal file
@@ -0,0 +1 @@
|
||||
0
|
||||
4
tests/expected/ffi-objc-call-09-in-construct.txt
Normal file
4
tests/expected/ffi-objc-call-09-in-construct.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
fetch != 0 = true
|
||||
protocol h2 = true
|
||||
closure h3 = true
|
||||
generic h4 = true
|
||||
Reference in New Issue
Block a user