proomt

Search

Search posts, papers, and topics

All posts

Lobsters

Why do common Rust packages depend on C code? (2023)

Related reading

  1. Rust's derive often implies inline

    Rust's `#[derive]` macros automatically add `#[inline]` to generated trait implementations. While helpful for trivial code, large derived `Debug` impls can bloat binaries, and you can suppress this with a custom proc macro that uses `#[inline(never)]`.

    Lobstersyossarian.net2 minlobste.rs71
  2. Migrating the GitHub Copilot runtime to Rust, using Copilot

    The Copilot agent runtime was rewritten from a 130‑k‑line TypeScript/Node.js codebase into a native Rust library (~830 k lines of Rust) to reduce startup latency, memory use, and improve reliability. The migration was done incrementally (in‑place) across 128 PRs, with AI‑generated code handling most of the work. The new runtime exposes a C ABI for in‑process embedding by all six Copilot SDK langu…

    GitHub Oldgithub.blog65 minHN188