The esi crate declares fastly = "^0.12". EdgeZero moves to fastly 0.13 (stackpop/edgezero#366), and both land in trusted-server-adapter-fastly, so the graph carries two incompatible copies of the same types:
fastly 0.13.1 <- edgezero-adapter-fastly
fastly 0.12.1 <- esi 0.7.2
crates/trusted-server-adapter-fastly/src/esi_assembly.rs passes fastly::http::Response and Request across that boundary, so it fails to compile:
error[E0308]: mismatched types
--> crates/trusted-server-adapter-fastly/src/esi_assembly.rs:96:9
error[E0631]: type mismatch in closure arguments
--> crates/trusted-server-adapter-fastly/src/esi_assembly.rs:124:65
ESI is unconditional in that adapter (not feature-gated), so it cannot be sidestepped.
The fix is one line, upstream
esi needs no source changes. Cloning fastly/esi at v0.7.2 and changing only the manifest range:
-fastly = "^0.12"
+fastly = "^0.13"
cargo check -p esi --target wasm32-wasip1 passes clean. With that patched in locally, the entire trusted-server workspace compiles, including the Fastly adapter.
Status upstream
fastly/esi main still reads fastly = "^0.12".
- Published
esi 0.7.2 declares ^0.12 (confirmed via the crates.io dependency API).
- No open PR addresses it.
fastly/esi#60 is the v0.7.1 to v0.7.2 release bump and touches only the workspace version and lockfile.
Options
- Open a one-line PR against
fastly/esi and wait for a release.
- Carry the fix on the existing
stackpop/esi fork and reference it from [patch.crates-io] until upstream releases. Note the fork's main is behind upstream (missing v0.7.1 and v0.7.2), so it should branch from upstream v0.7.2.
Blocks #1123
The
esicrate declaresfastly = "^0.12". EdgeZero moves tofastly0.13 (stackpop/edgezero#366), and both land intrusted-server-adapter-fastly, so the graph carries two incompatible copies of the same types:crates/trusted-server-adapter-fastly/src/esi_assembly.rspassesfastly::http::ResponseandRequestacross that boundary, so it fails to compile:ESI is unconditional in that adapter (not feature-gated), so it cannot be sidestepped.
The fix is one line, upstream
esineeds no source changes. Cloningfastly/esiat v0.7.2 and changing only the manifest range:cargo check -p esi --target wasm32-wasip1passes clean. With that patched in locally, the entire trusted-server workspace compiles, including the Fastly adapter.Status upstream
fastly/esimainstill readsfastly = "^0.12".esi0.7.2 declares^0.12(confirmed via the crates.io dependency API).fastly/esi#60is the v0.7.1 to v0.7.2 release bump and touches only the workspace version and lockfile.Options
fastly/esiand wait for a release.stackpop/esifork and reference it from[patch.crates-io]until upstream releases. Note the fork'smainis behind upstream (missing v0.7.1 and v0.7.2), so it should branch from upstreamv0.7.2.Blocks #1123