Define explicit multiple-feed semantics for singular MFD targets

Open
#241 7 comments 0 reactions 1 assignee View on GitHub

Maintainers usually reply within 1 day

@DeandreT is already working on this.

Since Oct 26, 2026.

Assessment

This issue has not been assessed yet.

Description

Some MFD target shapes connect multiple distinct expressions to one singular target in the same scope. These feeds must not be collapsed or assigned an inferred first, last, or non-null winner. The existing executable validator refuses duplicate singular bindings.

Define a bounded supported contract using independently authored MFDs before extending the importer. Preserve the current refusal for shapes whose ownership, cardinality, or ordering is not established.

Scope and acceptance criteria:

  • Separate feeds owned by different declared target branches from genuinely competing feeds in the same singular target scope; branch distribution is tracked in #239.
  • Specify complete output cardinality, ordering, null handling, and error precedence for any admitted multiple-feed shape.
  • Keep distinct expressions and preserve executable refusal for unqualified shapes.
  • Add independent full-value and exact-error fixtures for native and compiled generated Rust/C# paths before admitting the selected shape.
  • Retain an authored refusal control with distinct constants bound to one singular target, so branch fixes cannot silently weaken duplicate-binding validation.
Dominant language
Rust
Stars
1
Forks
0
Avg merge
2h 50m
Merged PRs (30d)
571

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from DeandreT/ferrule

All issues in DeandreT/ferrule

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.