Repository navigation
Conversation
Quest-Claim: 1b78c0bd989c3ff1
…rypto moq main moved moq-relay's crypto onto rind, so the moq corpus is now the pure-crypto build: it takes moq-pure-crypto's no-c guard and that corpus goes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
rind's naked_asm! takes sym operands, which cg_clif cannot compile yet (rust-lang/rustc_codegen_cranelift#1620). A variant's new `config` key passes cargo --config values, so the cranelift variant picks its backend by profile and overrides it for rind; RUSTFLAGS would come after any per-package flag. The README's ra-jit notes now come from the run at the new pin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cargo drops a --config given before an external subcommand, so nextest built the cranelift variant's tests with LLVM. Every cargo command now takes the config last, and `sub` holds only the subcommand again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Finishes quest/m4/bench-moq-pin.md, planned in moq-dev/rust2#631 from moq-dev/rust2#615's report.
Problem
The
moqcorpus pinnedf36c848, from before poll-first (moq-dev/moq#7607). The benchmark was measuring a moq its developers no longer edit: the hub edit rebuilt 8 crates instead of main's 10, and the async body edit hit a pre-poll-firstasync fn.Approach
leaf,hub,sync, andasynctargets still match verbatim.Session::closedis nowkio::wait(|waiter| self.poll_closed(waiter)).await, and the comment says so.moq-pure-cryptoand markmoqasno-c. Since the pin, moq main has moved moq-relay's crypto onto rind, its own pure-Rust fork of graviola, through rind-rustls, rind-rcgen, and rind-jsonwebtoken. At142b03b, moq-relay's build graph has no aws-lc-sys, ring, cc, cmake, orlinkskey. Somoqitself is now the pure-crypto build, and the comparison the spike corpus existed for (aws-lc-rs against pure Rust) no longer has two sides at main. Theno-cguard moves tomoq, and the workflow'smoq pure-cryptojob goes with the corpus.testlist from the workspace crates moq-relay builds at the pin. moq-clock and moq-flate are gone. kio-macros, moq-congestion, and moq-crypto are new.kiono longer needs its version.moq-patternjoinsmoq-authas unnameable: moq-auth's dev-dependency on its published self brings a published moq-pattern at the same version, socargo pkgid -p moq-pattern@0.1.2is ambiguous. All 12 remaining specs resolve to workspace crates (cargo tree -p ...at the pin).craneliftvariant building moq. rind'snaked_asm!takessymoperands, which cg_clif cannot compile yet (rust-lang/rustc_codegen_cranelift#1620, open). The first bench run at the new pin failed there. A variant gains aconfigkey of cargo--configvalues, andcraneliftpicks its backend by profile, with LLVM forrindalone. A RUSTFLAGS backend can't do this: cargo passes RUSTFLAGS after the profile's per-package flag, so it would win. Each cargo command takes the values last: cargo drops a--configgiven before an external subcommand, so a leading one would have left nextest building with LLVM. The Cranelift retrial quest reads these moq rows, so dropping moq from the variant would have lost its signal.edit-asyncnote, the Cranelift note, and the ra-jit notes, taken from the run at the new pin. ra-jit serves everyedit-leaf,edit-hub, andedit-syncrun. It hands everyedit-asyncrun to cargo on usage-argv'sparsed_values_given, at 50.6 s and 196 CPU-s against cargo's 10.5 s and 14.5 CPU-s. The aws-lc-sys fallback note goes with aws-lc. Thecargo ra-jit checknote is dated tof36c848, since nothing reruns it.Impact
just bench --corpus moq-pure-cryptois now an unknown corpus.Alternatives
spike/pure-cryptobranch in moq-dev/moq and pin that. I tried it. Merging main into the spike conflicts in 60 files across 1478 commits, because main replaced the same crypto code the spike patched (graviola became rind, built-in ACME was removed in moq-dev/moq#7803). Even resolved, it would reproduce what main already ships. I pushed nothing to moq-dev/moq.Choices made without asking
moq-pure-cryptocomparing a different tree, no longer holds, sincemoqis that tree.craneliftvariant with rind on LLVM, rather than dropping moq from it until rust-lang/rustc_codegen_cranelift#1620 lands. The moq Cranelift numbers now include one crate built with LLVM, which is how a Cranelift user would build moq today.test-*rather than naming it by apath+file://spec, which would depend on the checkout path.Validation
nix develop --command just check: passed.nix develop --command just ci: only the two known path-dependent TypeId snapshots fail (lang/dynsids.ts,lang/panics/hooklib.ts). They fail the same way on bare origin/main, and moq-dev/rust2#633 fixes them.moq stable,moq ra-jit, andpurepassed, so theno-cguard and the body edits hold at the new pin.moq nightlyfailed in thecraneliftwarm-up on rind, which led to the fix above.configpath on regex:just bench --corpus regex --variant nightly --variant cranelift --runs 1passed, andcargo -vwith the same values shows-Z codegen-backend=cranelifton every regex crate, with no warning for the unmatchedrind. On moq's rind alone, rind getsllvmand its dependencies and build scripts getcranelift.Follow-ups
None.
Models
Size: S
Implementer: Claude Code, claude-opus-5-5, high effort
(Written by Claude Opus 5.5 with high effort)
🤖 Generated with Claude Code
Review
Rewritten by
quest reviewafter each round.01a1b524-ea63-75c2-8a20-9cad88c366a6, round 2The head fixes configuration forwarding in every affected command path, and the full branch diff reveals no remaining actionable defects.bench/build/run.sh:247:[P1] Forward variant configuration to nextest itself;bench/build/run.sh:327, 416, and 464 now append variant configuration after the command, including nextest and test-edit preparation; the build-platforms reproduction confirms nextest receives configuration in this position.