Skip to content

fix(ffi): name the binary config conversion so moq-ffi compiles - #4157

Merged
kixelated merged 2 commits into
mainfrom
claude/fix-ffi-binary-into
Sep 25, 2026
Merged

kixelated merged 2 commits into
mainfrom
claude/fix-ffi-binary-into

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

Problem

main does not compile moq-ffi: #4137 calls binary_snapshot(track, config.into()), and after #4089 two IntoRendition impls (moq_mux::binary::Config and the blanket RenditionConfig + AsMut one) can satisfy that bound, so into() has no single target (E0283). Every branch touching a crate moq-ffi depends on fails just check.

Approach

Name the target: moq_mux::binary::Config::from(config) in both binary constructors.

Impact

  • None. No public API or wire change.

Alternatives

  • Narrowing the blanket IntoRendition impl: larger, and the ambiguity is a caller-side inference issue.

Follow-ups

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code

Two IntoRendition impls now satisfy the binary track constructors, so a bare
into() no longer infers its target.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-25T17:10:24.886464Z f7a5d0e PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kixelated

Copy link
Copy Markdown
Collaborator Author

MERGE

Positive improvement: yes. After #4089, two IntoRendition impls can satisfy binary_snapshot / binary_stream, so a bare config.into() is ambiguous (E0283) and moq-ffi fails to compile on every branch that depends on it. Naming the target with moq_mux::binary::Config::from(config) matches the existing From<MoqBinaryConfig> in this file and restores the build with no behavior change.

Worth the complexity: yes — two call sites, zero new API surface. The alternative (narrowing the blanket IntoRendition impl) would be a larger cross-crate change for a caller-side inference issue; fixing the call sites is the right scope.

Different approach: not needed. Config::from(config) is clearer than turbofish/into() and is already the conversion this module owns.

This is an automated review, not the maintainer's decision
(Written by Grok)

@coderabbitai

coderabbitai Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: e1b75e3e-78d3-4798-9be7-0e230ad00234

📥 Commits

Reviewing files that changed from the base of the PR and between f7a5d0e and 53611f4.

📒 Files selected for processing (1)
  • rs/moq-ffi/src/binary.rs
🚧 Files skipped from review as they are similar to previous changes (1)
  • rs/moq-ffi/src/binary.rs

Included review availability: Your plan provides up to 4 included reviews per hour; 1 remains after this review.


Walkthrough

The binary_snapshot and binary_stream call chains use multiline formatting. Their configuration conversions and behavior are unchanged.

Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to 53611

The binary publishing calls now specify the intended configuration type. No merge-blocking issue was identified; normal build checks remain appropriate.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the binary configuration conversion change and its purpose: fixing moq-ffi compilation.
Description check ✅ Passed The description directly explains the E0283 compilation error, the explicit conversion used to resolve it, and the expected impact.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
✨ Simplify code
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kixelated
kixelated merged commit 1a4f8e2 into main Sep 25, 2026
17 checks passed
@kixelated
kixelated deleted the claude/fix-ffi-binary-into branch September 25, 2026 19:52
@moq-bot moq-bot Bot mentioned this pull request Sep 25, 2026
kixelated added a commit that referenced this pull request Sep 25, 2026
Brings in #4157 so moq-ffi compiles on the line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@moq-bot moq-bot Bot mentioned this pull request Sep 25, 2026
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