serc, an Astral experiment, compiles Python bytecode in Rust with code written by Codex
serc is an experimental Rust compiler for CPython bytecode that claims byte-identical output 3-4x faster than compileall. Every code change was by GPT.
Habitat H5 · 136 sightings
Rust, AI in Rust, and Rust for AI: runtimes, kernels, and crates. Every sighting here, newest first, with its specimen number and wildness rating.
serc is an experimental Rust compiler for CPython bytecode that claims byte-identical output 3-4x faster than compileall. Every code change was by GPT.
Exact, an MIT-licensed Expo project, runs one Contract UI natively on web, macOS, iOS and Linux, with a ten-command driver for agents. It is pre-alpha.
Ferrite 0.1.0 compiles its kernels with rustc's NVPTX backend and serves one model, Qwen3.8-27B, on one or two Sparks. Experimental, Apache-2.0, a day old.
CHIMERA speaks, sings and beatboxes in the browser from a simulated airway, in Rust compiled to WebAssembly. Its own Whisper check: 37% word errors vs 2.7%.
Anomaly's Rune is a pre-release MIT UI kit an agent can render to PNG. Voyager's vork 0.2.0 is source-available, and its license says it is not open source.
LiteLLM merged a Rust router core, deleted the Python router and moved proxy Redis traffic to Rust. It ships in v1.110.0-dev.1, not a stable release yet.
Linkerd's maker released Kinference: Apache-2.0 Rust control plane for vLLM on Kubernetes, with KV-cache-aware routing and policies. It is alpha.
Rivet's open-source Durable Objects alternative now has a GA Rust SDK (rivetkit) with SQLite, WebSockets, cron, hibernation and a test harness.
JetBrains' Rust IDE 2026.3 includes Air agents in-IDE, Junie Lite, local models, and an optional debugger MCP with a rustrover-debugger skill.
A source-available Rust engine for Qwen GGUF models. Its author measures 113 tok/s decode vs 66.5 for tuned llama.cpp on an RTX 3060; prefill is level.
CVE-2026-111959: arrow-rs let a malformed RunEndEncoded array read past its values. Apache rates it moderate. Update to 60.1.0, 59.3.2, 58.4.1 or 57.3.2.
Google's Antigravity team says an agent moved FVCOM's core solver into 13 safe-Rust modules in 59 minutes, and points to its migrate-to-rust skill.
zg, a local hybrid search tool for coding agents from the zvec team, rebuilt its core pipeline in Rust. Its own M3 Pro test shows faster indexing, less memory.
SolidCraft 0.30.1 fixes three advisories: an agent permission bypass, a lock-file symlink overwrite and an API key check skipped with '#'. Upgrade now.
Rust's Niko Matsakis sketches evidence files that record what an agent checked and why, with CI gates and later re-audits. His crate is called habeas.
On Latent Space, Claude Platform leads describe a full Rust fork checked with shadow traffic. Ballpark: 40 to 50% less CPU, 10 to 20% faster first token.
Vade runs Qwen3.8 Flash-Next on one to four DGX Sparks, writes its own GPU kernels in Rust and promises the same token IDs on every run.
Rig's terminal agent now installs with cargo install rig. 0.46.0 adds opt-in MCP, ACP for editors, AGENTS.md, skills and traffic logs.
The Rust SSH library's advisories reached GitHub's global database this weekend, so Dependabot will flag them. Every russh before 0.65 is affected.
cuda-oxide 0.3.0 drops the pinned nightly, shares one host runtime with cutile-rs, and previews CuTe in Rust. What changed and what is still missing.
Vercel Labs' Rust CLI gives agents snapshots and refs for any app on macOS, Windows and Linux, headless by default. What 1.0 changes and the privacy catch.
The Rust inference engine for AMD GPUs reports faster code edits on Strix Halo, native MTP on the 7900 XTX and Raon-1-mini-preview support.
yoagent 0.26.0 keeps MCP HTTP redirects on the server's origin so custom key headers stay put; 0.26.1 keeps URL keys out of error text.
hf-xet 1.8.0 can push upload chunks directly to S3 through short-lived grants, rolled out gradually by the Hub. Here is the allowlist and the opt-out.
The Rust local inference server now transcribes and labels speakers on the CPU behind OpenAI-style routes. Its 0.9.0 and 0.9.1 downloads shipped without CUDA.
A new tract example runs SD 1.5 on the visitor's GPU via WebGPU and wasm. The 2.1 GB of weights come from Hugging Face and nothing leaves the machine.
Four rustls advisories, from a Debug leak of TLS secrets to a post-quantum downgrade, landed on 27 October. Upgrade to 0.23.46 if you haven't.
A Moderate GHSA in the Rust inference engine: for qwen-xml and gemma4, text a model quotes could be parsed as a second tool call. Fixed in v0.9.5.
Spice v2.4.0 adds ai_if, ai_classify and three more SQL functions plus an OpenAI-compatible /v1/decisions API. Cayenne is now the default accelerator.
An OpenShell gateway with no auth configured gave every caller admin rights. OpenShell v0.1.6, out 27 October, makes it refuse to start unless you opt in.
Meilisearch replaced its disclose-and-own AI rule with a flat ban for outside contributors. PRs need a ticked checkbox or they won't be reviewed.
Eric Zhang's Resin keeps scheduling, caching and serving in a shared Rust core, so you or an agent write only each model's forward pass and kernels.
Xiangpeng Hao says LLMs wrote all of bbtree while he steers and answers for it. Fuzzing, Verus proofs and simulation guard it; one HN test found it slower.
Infinity saves an agent's conversation and stops it while a tool runs, then resumes it when the result arrives. AWS fits about 75,000 idle agents in 8 GB.
pgrust v0.4-beta adds the Gravity JIT engine and opens daily development, a month after ClickBench removed it. Dan Luu cites its Postgres bug reports.
The Rust GIS app, which its README says is mostly built with Claude, adds ACP agents, MCP over HTTP, run-scoped tokens, an audit log and per-agent undo.
hipfire 0.4.3 adds a new mq4rs quant for Qwen3.6-35B-A3B with much faster prefill on gfx1201. 0.4.3.1 fixes a 27B MTP load bug and lifts decode about 48%.
goose's code mode now runs agent scripts on Boa with no file, shell or network access. The PR reports a smaller binary and fewer tokens in a small test.
The php-rust README claims parity on WordPress core tests, Composer and Doctrine. It is still slower than PHP, and recent commits list Claude as co-author.
fastembed-rs 7.4.0 puts ONNX Runtime behind a default onnx feature and splits qwen3 into text and VL features. Default builds are unchanged.
Dynamo 1.6.0 adds pluggable router queues, multi-replica Rust EPP and coding-agent session routing. One default change touches Claude Code traffic.
Before 1.20, any host that reached Qdrant's internal port 6335 could join a cluster and copy shards. The fix needs an API key. BM25 and turbo8 also land.
One developer rewrote NVIDIA's streaming RE-USE model in Rust and measured 8.4 ms per 20 ms frame on an M3 CPU, against 16.9 ms through WebGPU.
NVIDIA posted Flare, an Apache-2.0 local inference server for SM120/SM121 GPUs such as DGX Spark. Python prepares each model; a Rust runtime serves it.
tsrs, a Rust port of the TypeScript type checker, joins the Oxc toolchain. Cloudflare plans a merge with tsc-rs and agent-run upstream sync.
rmcp 3.6.0 enforces the 2026-07-28 rule that servers must not send requests to clients, cancels abandoned calls, and bounds the stdio line buffer.
pyke's ort 2.0.0-rc.15 fixes what it calls over 30 cases of undefined behavior and adds no features. It breaks a few APIs, including run_async inputs.
Monty 1.2.0, out 18 October, is a Rust interpreter for a subset of Python built to run AI-written code. It adds match, csv, tomllib and hashlib.
On 17 and 18 October Codewhale fixed deny-list, sub-agent, and sandbox gaps on main. They are not in the 8 October v0.10.1 release.
Lexmount's Moli is a Rust headless browser for agents, public since August. The 17 October v1.1.18 tag is a compatibility pass. Scores are Lexmount's.
Respan's 15 October post releases Span-02. The card says the weights run only on its Rust and CUDA engine, on Blackwell GPUs.
Mirai's 16 October post points at uzu.run, a browser preview of local models over WebGPU. The engine's WebGPU backend is still an unmerged draft.
crates.io listed 127 of 136 zip versions yanked on 16 October. Update: most were unyanked on 17 October, and 9.1.3 is the safe target.
pingdotgg/ts-rust published tsc-rs 0.7.0 on 14 October. The note says the wasm32 build runs the checker with less memory. npm latest is 0.7.0.
Perplexity open-sourced SPACE on 15 October under Apache-2.0. It says each Perplexity Computer task gets a Firecracker microVM. The control plane is Rust.
Mirai published @trymirai/uzu-pi-extension 0.6.8 on 15 October. It adds uzu as a local provider for Pi on Apple Silicon Macs.
Sonos published tract 0.23.9 on 15 October with a tract_moe_ffn operator. The deploy runtime is marked WIP. crates.io still lists 0.21.19 as newest.
Pull request 2771 merged a terminal coding agent into Rig on 15 October. The agent crates are unpublished. crates.io rig 0.44.0 does not include them.
Niko Matsakis's 14 October essay says Rust fits agentic coding and that types need proof tools. A Meta growth line in it is Tolnay's.
warpfront tagged hipfire 0.4.2 and a same-day 0.4.2.1 patch. The notes add a Strix Halo NPU trunk, opt-in expert parallel, and a calibration fix.
pyke shipped ort 2.0.0-rc.14. Sessions take an explicit Environment. Older ort can fail on Rust 1.100 when copy-dylibs is enabled.
Map a JSON event stream with a "type" field onto a Rust enum using #[serde(tag = "type")], handle unknown event types, and see why tuple variants fail to compile.
Run cargo miri test on a crate with unsafe code to catch out-of-bounds reads, use-after-free and aliasing violations that pass ordinary tests.
Switch a Rust test suite to cargo-nextest so each test runs in its own process, flaky tests can retry, and slow or hung tests are flagged and stopped.
A library's error type is public API that callers match on. A binary mostly needs a clear message with context. thiserror and anyhow fit those two jobs.
Cargo's default job count is the number of logical CPUs. On a machine with many cores and several builds at once, memory becomes the limit long before CPU. Three ways to set the job count, and how to pick one.
Clippy's defaults catch a lot, and its stricter groups catch more. Which groups to enable, three individual lints worth adding, and how to set them once in Cargo.toml for the whole project.
One blocking call in a Tokio task can stall every other task on that thread. How to recognise blocking work, when spawn_blocking is the answer, and when a dedicated thread is the better one.
River Inference is serving DeepSeek V4.1 Flash and GLM 5.3 Flash. Its public card is 20% under DeepSeek's off-peak rates and Z.ai's list prices. A second homepage table is much higher.
Mirai's open-source Rust engine uzu uses tree speculative decoding tuned for M5 Macs. A creator run shows 92 tokens/s on a 9B model versus 22 for llama.cpp, with caveats on quants, chips and workload.
quake-srp is a Rust port of id Software's WinQuake with unsafe code forbidden. The README says Claude Code agents wrote it and checked frames against id's C. It is not an official Quake release.
Rust can catch an unwinding plugin panic, but the host must still decide whether captured state remains valid. UnwindSafe is a warning at that boundary, not automatic rollback.
ArtCraft's PhotoCraft, LightCraft, FilmCraft and other Crafting Apps are open-source Rust reimplementations of familiar creative tools. PhotoCraft is early alpha, with installers, an MCP server and parity caveats.
Rust doctests can demonstrate forbidden API use, but compile_fail only checks that compilation fails. A misspelled import can make the lesson appear tested.
Generated Rust bindings can go stale when a build script watches too few inputs. Declare the files and external environment variables that affect generation, and keep diagnostics separate from Cargo directives.
Cargo's Rust-version-aware resolver can favor dependency releases that fit a project's minimum compiler, but its fallback policy and shared lockfile leave real compatibility checks to the build matrix.
Cargo workspace.dependencies centralizes dependency declarations, but each member opts in through its own manifest. See how that keeps an AI application's crates honest about what they use.
Checked, saturating and wrapping arithmetic encode different overflow policies. Pick one for the meaning of a counter, image dimension or protocol sequence.
Rust iterators can yield an item after None. Learn when fuse() makes exhaustion permanent, and why a temporary gap in a live stream needs a different signal.
Rust's BTreeMap can iterate directly over a chosen key interval. Its bound rules and panic cases shape safe time-window queries.
Use Rust's HashMap entry view to update per-key counters without splitting the vacant and occupied cases across separate map accesses.
Collecting an iterator of Result values into Result<Vec<T>, E> stops on the first Err. Choose that behavior for fail-fast loading, or collect errors explicitly for a full report.
An optional configuration field can be absent, valid or malformed. Option::transpose turns that three-way outcome into Result<Option<T>, E> without hiding parse errors.
Theo Browne says tsc-rs 0.1.0, a Rust port of Microsoft's Go TypeScript compiler, is an early release he has not read. The README's costs, tests, and speeds are his account.
Rust string ranges use UTF-8 byte offsets. Learn why a valid byte position can still be an invalid slice boundary, and when character iteration is insufficient for visible text.
PhantomData occupies no storage, yet its chosen type tells Rust about logical ownership, lifetimes, variance, and auto traits. Pick the marker that matches the actual relationship.
A pinned future can contain fields with different movement rules. Structural projection makes those rules explicit, and unsafe projection must preserve them for the field’s lifetime.
A poisoned Rust mutex signals that a thread panicked while holding the lock. Recovery starts with checking the shared state’s invariants.
A weak reference can remember an Arc allocation without keeping its value alive. Access depends on whether upgrade succeeds.
Choose a Tokio channel by what each receiver needs after a pause: the latest value or messages sent in order.
Rust's Vec may reserve more space than requested. The useful guarantee is a capacity floor based on the current length.
Rust scoped threads can borrow local data because the scope joins them before returning. A small example shows where the borrowing boundary sits.
A Rust receiver can keep waiting after the workers finish if a sender is still alive. Here is how to close the channel and let the receive loop end.
A standard mutex works well for short updates in async Rust. Learn when holding its guard across an await can deadlock, and when Tokio’s async mutex is worth its cost.
Tokio’s fair semaphore can make a small request wait behind a large one, even while a permit is available. Here is why and what to check.
Rust cleans up values when they leave scope. Dropping a lock guard early can make its mutex available sooner.
Rust runs `Drop` when values are destroyed, but `Drop` cannot await a future. Give asynchronous resources an explicit shutdown path while `AsyncDrop` remains experimental.
A C enum can carry a value with no matching Rust variant. Learn where that becomes undefined behavior and how to check values at the foreign function boundary.
Rust's `RefCell` allows mutation through shared access. Its borrow checks happen at runtime, so conflicting access can panic or return an error.
A Rust library can reserve room for new error variants. Downstream callers need a deliberate fallback when matching them.
Rust warns when important results or futures are ignored. Callers can still discard them explicitly, so the warning cannot guarantee that an outcome was handled.
Use Rust's mem::take to move a value from a mutable field without cloning it. The field receives its type's default value.
Use Rust’s OnceLock to share a lazily initialized model client across threads. Learn what happens when initialization panics and when a failed result is stored.
Rust’s HashMap iterates in arbitrary order. Sort entries before producing snapshots or other output that needs a stable order.
Two crates in an agent CLI can request different features from the same dependency. Here is how Cargo combines those requests and how to trace them.
Trim and inspect borrowed prompt text, then make an owned copy only when an edit or a caller requires one.
xet-core published hf-xet 1.7.0 on 6 October. The Hub telemetry page says each transfer sends a report by default, and the server can store IP, account, repository, and token scope with it.
Cloning an Arc shares the same model allocation. Arc::make_mut copies the model when another Arc still owns it.
Serde checks untagged enum variants in order. When two variants accept the same JSON object, their order decides which one the program receives.
Tracel tagged Burn v0.22.0 and CubeCL v0.11.0 on 2026-10-06, and both are on crates.io. CubeCL's README still says alpha. Candle is removed; NdArray and LibTorch are deprecated.
A model can move to a worker thread even when its fields prevent shared references from crossing threads. The choice changes how requests reach it.
Rust paths use operating-system strings. A valid path can therefore fail conversion to `&str`.
Cargo Vet records why a Rust project accepts third-party code. Its audits, imports, and exemptions make those choices visible when dependencies change.
Polars 2.0, published 6 October, enables an initial spill-to-disk path and treats SQL as first class. Its TPC-H and TPC-DS-derived times against named DuckDB and DataFusion builds are Polars' own runs.
Powderworks Code's Headstart patches, updated 4 October 2026, emit early rustc metadata so dependents type-check before dependency bodies finish. Its strongest reported check saves 54 percent of elapsed time.
Rust release builds favor speed by default. Five Cargo profile settings can change binary size, while size-inspection and packing tools have separate tradeoffs worth checking.
A losing tokio::select! branch is dropped. This explainer traces interrupted I/O and shows how to review each await before retrying an operation.
Cargo upgrades dependencies to versions it considers compatible, and a compatible update can still break you. What Cargo's version rules allow, what Cargo.lock protects, and where it doesn't reach.
Unsafe is a small, honest doorway in a language built on safety. This is what it actually means, what it unlocks, and where to keep it.
How to build a Rust command-line tool on a laptop for a Linux server: pick a target, add it with rustup, handle the linker, and smoke test the result.
An outer error can explain what failed at its layer while keeping the lower-level cause available for diagnosis.
A Rust project's target folder can grow large. The three Cargo defaults behind that, and the settings that shrink each one.
How to choose an error type for a small Rust tool. Plain enums need no dependency, thiserror removes the boilerplate, and anyhow adds context for applications.
A security alert on a Rust dependency is a lookup, not an alarm. Which four fields to read first, what 'unmaintained' and 'unsound' actually mean, and a short order of response for a Rust AI project.
Rust 1.99.0 shipped on 1 October 2026 with stabilized C variadics, standard-library allocation conveniences, a new Cargo debug profile, and upgrade notes worth a scan.
Sebastiaan Neuteboom’s Cloudflare Blog (Aug 27, 2026) is a Rust-in-prod layout case study on Big Pineapple’s DNS cache: five successive changes, vendor 953→420 B (−56%) and ~100 TB fleet savings.
Qdrant’s Clelia Bertelli blog (Sep 25, 2026) covers cross-encode-rs—a Rust ONNX Runtime cross-encoder for reranking. crates.io owner is AstraBert (not a Qdrant-org crate). ~1.1×/~1.4× vs Python stacks on M4 Max are vendor-reported; all three hand work to onnxruntime. Linux/macOS only.
EricLBuehler/mistral.rs (not Mistral AI) merged PR #2462 on 2026-10-01: Qwen3.8-Flash-Next from safetensors and GGUF with built-in MTP. Not a new release tag. Paged attention requires CUDA; FP8 KV / TP / GGUF MTP / external drafters unsupported.
warpfront tagged hipfire v0.4.0 (2026-09-30): Rust LLM inference over HIP kernels for AMD RDNA. Self-reported ≈5,120 tok/s pp8192 on R9700; Qwen3.8-Flash-Next full 262K on one R9700. Serve defaults to 127.0.0.1. Apache-2.0 (residual MIT files).
arXiv 2609.25008v1 is a preprint experience report (not SOTA): after a Candle/Burn failure taxonomy on a ~0.4B Bangla-first run, the author pivoted to train in PyTorch and keep Rust for serving. Self-reported $164 / 54.6h H100; weights not public.
Cloudflare previews experimental wasm-bindgen support for Rust's Emscripten target on Workers. The integration maps files, sockets, timers, and Tokio onto a JavaScript host.
Tracel tagged Burn v0.22.0-pre.4 and CubeCL v0.11.0-pre.4 on the same day (2026-09-22). Pre-release only—not stable 0.22 / 0.11. LAMB, einsum, AMDGPU and CUDA-LLVM backends; dual MIT/Apache.
HF tagged tokenizers v1.0.0-rc.2 (2026-09-21): same API and token IDs as v0.23, performance refactor. Install with cargo add --pre. Encode 3–30× and related figures are HF/tokbench (M4 Max), not desk-measured.
smartcomputer-ai/lightspeed describes a deterministic Rust agent harness on Temporal for durable managed-agent workflows, with Postgres/optional S3 and a TypeScript/React UI. Early public repo—README claims only; Apache-2.0.
A dated brief on NVIDIA’s Sep 2026 CUDA Rust post: two early-stage kernel tracks — cuda-oxide (SIMT, early alpha) and cutile-rs (Tile) — neither production-ready. Correctness demo only; no perf claims.
A dated changelog brief on Eric Buehler’s mistral.rs v0.9.3 (tagged 2026-09-07): FP8 and DFlash decode, NVFP4 with cuTile Blackwell, and stronger Anthropic Messages / Claude Code server support. Not affiliated with Mistral AI.