Skip to content

fix(SR-33): own<T> result conversion for 3-component chains#36

Merged
avrabe merged 1 commit intomainfrom
fix/sr-33-result-guard
Mar 17, 2026
Merged

fix(SR-33): own<T> result conversion for 3-component chains#36
avrabe merged 1 commit intomainfrom
fix/sr-33-result-guard

Conversation

@avrabe
Copy link
Contributor

@avrabe avrabe commented Mar 17, 2026

Adds resource.new conversion for own results in 3-component chains. Guarded by callee_defines_resource to avoid double-conversion in 2-component cases. 73/73 tests pass.

…hains

Adds ResourceOwnResultTransfer struct and resource_new_calls field to
AdapterOptions. The adapter generator now populates resource_new_calls
from resource_results when callee_defines_resource is false (3-component
chains only). Phase R helper emit_resource_new_results converts own<T>
results via [resource-new] after the callee call.

The callee_defines_resource guard ensures no regression for 2-component
cases where the P2 wrapper already handles lift/lower.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@avrabe avrabe merged commit bb5603c into main Mar 17, 2026
3 checks passed
@avrabe avrabe deleted the fix/sr-33-result-guard branch March 17, 2026 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant