• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

powersemmi / ruststream / 33994082569
97%

Build:
DEFAULT BRANCH: main
Ran 05 Sep 2026 09:51PM UTC
Jobs 1
Files 93
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 Sep 2026 09:48PM UTC coverage: 97.474% (+0.05%) from 97.421%
33994082569

push

github

web-flow
Fix the findings the 0.7 broker adaptation left in the core (#295)

* Warn when a slot mount never reaches .build()

A registration carrying `Out` slots is not complete until every slot is
bound, so its guard commits through a call rather than through the drop
that finishes a reply-only one. One guard type served both, which left
`#[must_use]` unavailable: the attribute would have fired on every correct
reply-only mount. A forgotten `.build()` therefore compiled, passed a test
suite, and only surfaced as a panic when the service started.

The two terminals now have two types, so the slot-carrying one carries
`#[must_use]` and says what to do. Rust has no linear types, so a dropped
value cannot be a hard error, but a warning lands on the mount site and is
an error wherever warnings are denied. The drop-time panic stays as the
backstop under it.

Splitting the guard also drops the terminal type parameter, and with it the
`ScopeTerminal` bound every step repeated: the compile errors of the steps
now name the chain's own commit bound instead, which the refreshed
snapshots show.

* Carry a publisher's base headers onto the replies it sends

`Publisher::base_headers` is how a broker publisher contributes an argument
it holds for a run of messages - a partition key, a tenant, a delivery
option the transport expresses as a header. The publish builder laid that
base down, but a reply never passes the builder: the reply path assembled
its own outgoing message from an empty map, so a broker that wired an
option this way saw it silently dropped on everything a `publish("dest")`
handler answered with.

The reply path now starts from the same base, in the same order the builder
uses: the handle's headers first, the reply's own transforms over them. A
publisher with no base yields the empty map replies always started from, so
nothing is cloned on the path every broker publisher takes today. The slot
path already went through the builder and needed nothing; a test pi... (continued)

245 of 245 new or added lines in 7 files covered. (100.0%)

10 existing lines in 3 files now uncovered.

12155 of 12470 relevant lines covered (97.47%)

181.58 hits per line

Coverage Regressions

Lines Coverage ∆ File
4
98.41
0.02% src/runtime/publishing.rs
3
92.86
0.0% src/lib.rs
3
91.67
0.76% src/runtime/handle/axis.rs
Jobs
ID Job ID Ran Files Coverage
1 33994082569.1 05 Sep 2026 09:51PM UTC 93
97.47
GitHub Action Run
Source Files on build 33994082569
  • Tree
  • List 93
  • Changed 17
  • Source Changed 17
  • Coverage Changed 15
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33994082569
  • 05046506 on github
  • Prev Build on main (#33865286358)
  • Next Build on main (#33995427433)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc