You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
perry-stdlib: web-fetch without crypto fails to build (turnloop_client uses base64, which turnloop-http-client does not enable) #11149
perry-stdlib fails to build with web-fetch enabled and crypto off. turnloop_client::decode_basic uses the base64 crate, but turnloop-http-client (which web-fetch enables) does not turn on the optional dep:base64. The workspace build passes only because crypto and the TLS features enable base64 too.
Auto-optimize builds the stdlib with only the features a program uses, so any program that calls fetch and does not use crypto fails to compile its stdlib. It then falls back to the prebuilt libraries and fails to link against them.
CI builds perry-stdlib with the full feature set, where crypto supplies base64. The failure shows up only in a per-feature build, which is the build auto-optimize does for user programs. #7764 and #9719 were the same class of break. A CI job that builds the stdlib once per user-facing feature (or with cargo hack --each-feature) would catch the next one.
Introduced
#10354 (turnloop replaces tokio), first released in 0.5.1640. 0.5.1638 builds.
Environment
macOS 26.6.2 arm64. Found compiling a program that uses fetch and no crypto.
PR #11116 (turnloop-http-client gains dep:base64) is the fix for this, and it's MERGEABLE. It makes the same one-line change you proposed. On the effect: #11116's description says auto-optimize falls back to the prebuilt full-feature archive and exits 0, but you saw that fallback fail to link. We'll note that on the PR so the fallback path is checked as well.
Activity
proggeramlug commentedon Sep 23, 2026
THanks @steinybot for your immediate and thorough tests. :)
I'm on it, as you can tell there are many changes coming through right now so this should be resolved shortly!
proggeramlug commentedon Sep 23, 2026
PR #11116 (
turnloop-http-clientgainsdep:base64) is the fix for this, and it's MERGEABLE. It makes the same one-line change you proposed. On the effect: #11116's description says auto-optimize falls back to the prebuilt full-feature archive and exits 0, but you saw that fallback fail to link. We'll note that on the PR so the fallback path is checked as well.proggeramlug commentedon Sep 25, 2026
Fixed by #11116 (merged):
turnloop-http-clientnow enablesdep:base64.