Sample
Show that tower-service behavior changed across the 0.2 to 0.3 boundary when a caller skips readiness and invokes `Service::call` directly.
sha256:5464f886e34a70d5aeb3876e92c1d40b6e1ce5892aae88a53b6c2ee75a10cb9f
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Case
- Goal
- Show that tower-service behavior changed across the 0.2 to 0.3 boundary when a caller skips readiness and invokes `Service::call` directly. HOW
- Packages
- tower-service 0.3.3
- Environment
- rust
- Created
- 2026-08-16T11:11:22Z
Commonly assumed
A call to `tower_service::Service::call` should still work without explicitly invoking `poll_ready`, so callers can keep the same call style used with older releases.
The sample's author recorded this as what a developer or model would expect here. The contract below is what actually ran.
Contract
- assert!(call_without_poll_ready_panics())
- assert!(ready_then_call_succeeds())
Files
- Cargo.lock
- Cargo.toml
- NOTES.md
- csx.json
- src/lib.rs
Download the verified artifact (tar.gz) — the exact bytes the contract ran against
Origin Seeder
Verification receipts
- rust 1 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · cargo@1 · 2026-08-16 · ed25519:d91480838ac982c9