Rust Search

Find the best content on Rust, curated by the community; a search engine for Rustaceans.
rustc-dev-guide.rust-lang.org
How Salsa works This chapter is based on the explanation given by Niko Matsakis in this video about Salsa. To find out more you may want to watch Salsa In More Depth, also by Niko Matsakis. As of November 2022, although Salsa is inspired by...
Guide to Rustc Development Book 2024-01-01 ~6 min read
rustc-dev-guide.rust-lang.org
Memory management in rustc Generally rustc tries to be pretty careful how it manages memory. The compiler allocates a lot of data structures throughout compilation, and if we are not careful, it will take a lot of time and space to do so. O...
Guide to Rustc Development Book 2024-01-01 ~3 min read
rustc-dev-guide.rust-lang.org
Serialization in rustc rustc has to serialize and deserialize various data during compilation. Specifically: • "Crate metadata", consisting mainly of query outputs, are serialized from a binary format into rlib and rmeta files that are outp...
Guide to Rustc Development Book 2024-01-01 ~4 min read
rustc-dev-guide.rust-lang.org
Parallel compilation Tracking issue: https://github.com/rust-lang/rust/issues/113349 As of November 2024, most of the rust compiler is now parallelized. • The codegen part is executed concurrently by default. You can use the -C codegen-unit...
Guide to Rustc Development Book 2024-01-01 ~5 min read
rustc-dev-guide.rust-lang.org
Rustdoc internals This page describes rustdoc's passes and modes. For an overview of rustdoc, see the "Rustdoc overview" chapter. From crate to clean In core.rs are two central items: the rustdoc::core::DocContext struct, and the rustdoc::c...
Guide to Rustc Development Book 2024-01-01 ~8 min read
rustc-dev-guide.rust-lang.org
Rustdoc search Rustdoc Search is two programs: search_index.rs and search.js. The first generates a nasty JSON file with a full list of items and function signatures in the crates in the doc bundle, and the second reads it, turns it into so...
Guide to Rustc Development Book 2024-01-01 ~16 min read
rustc-dev-guide.rust-lang.org
The rustdoc-html test suite This page is about the test suite named rustdoc-html used to test the HTML output of rustdoc. For other rustdoc-specific test suites, see Rustdoc test suites. Each test file in this test suite is simply a Rust so...
Guide to Rustc Development Book 2024-01-01 ~5 min read
rustc-dev-guide.rust-lang.org
The rustdoc-gui test suite FIXME: This section is a stub. Please help us flesh it out! This page is about the test suite named rustdoc-gui used to test the "GUI" of rustdoc (i.e., the HTML/JS/CSS as rendered in a browser). For other rustdoc...
Guide to Rustc Development Book 2024-01-01 ~1 min read
rustc-dev-guide.rust-lang.org
The rustdoc-json test suite This page is specifically about the test suite named rustdoc-json, which tests rustdoc's json output. For other test suites used for testing rustdoc, see §Rustdoc test suites. Tests are run with compiletest, and...
Guide to Rustc Development Book 2024-01-01 ~2 min read
rustc-dev-guide.rust-lang.org
std::offload This module is under active development. Once upstream, it should allow Rust developers to run Rust code on GPUs. We aim to develop a rusty GPU programming interface, which is safe, convenient and sufficiently fast by default....
Guide to Rustc Development Book 2024-01-01 ~2 min read
rustc-dev-guide.rust-lang.org
Installation std::offload is partly available in nightly builds for users. For now, everyone however still needs to build rustc from source to use all features of it. Build instructions First you need to clone and configure the Rust reposit...
Guide to Rustc Development Book 2024-01-01 ~1 min read
rustc-dev-guide.rust-lang.org
Usage This feature is work-in-progress, and not ready for usage. The instructions here are for contributors, or people interested in following the latest progress. We currently work on launching the following Rust kernel on the GPU. To foll...
Guide to Rustc Development Book 2024-01-01 ~2 min read
rustc-dev-guide.rust-lang.org
Contributing Contributions are always welcome. This project is experimental, so the documentation and code are likely incomplete. Please ask on Zulip (preferred) or the Rust Community Discord for help if you get stuck or if our documentatio...
Guide to Rustc Development Book 2024-01-01 ~1 min read
rustc-dev-guide.rust-lang.org
The std::autodiff module in Rust allows differentiable programming: #![feature(autodiff)] use std::autodiff::*; // f(x) = x * x, f'(x) = 2.0 * x // bar therefore returns (x * x, 2.0 * x) #[autodiff_reverse(bar, Active, Active)] fn foo(x: f3...
Guide to Rustc Development Book 2024-01-01 ~1 min read
rustc-dev-guide.rust-lang.org
Installation Most users can enable std::autodiff on their latest nightly toolchain by installing the enzyme component with rustup, if they are using one of these platforms: • Linux: with x86_64-unknown-linux-gnu or aarch64-unknown-linux-gnu...
Guide to Rustc Development Book 2024-01-01 ~3 min read
rustc-dev-guide.rust-lang.org
Reporting backend crashes If after a compilation failure you are greeted by a large amount of llvm-ir code, then our enzyme backend likely failed to compile your code. These cases are harder to debug, so your help is highly appreciated. Ple...
Guide to Rustc Development Book 2024-01-01 ~6 min read
rustc-dev-guide.rust-lang.org
Supported RUSTFLAGS To support you while debugging or profiling, we have added support for an experimental -Z autodiff rustc flag (which can be passed to cargo via RUSTFLAGS), which allow changing the behaviour of Enzyme, without recompilin...
Guide to Rustc Development Book 2024-01-01 ~1 min read
rustc-dev-guide.rust-lang.org
TypeTrees for Autodiff What are TypeTrees? Memory layout descriptors for Enzyme. Tell Enzyme exactly how types are structured in memory so it can compute derivatives efficiently. Structure TypeTree(Vec<Type>) Type { offset: isize, // byte o...
Guide to Rustc Development Book 2024-01-01 ~3 min read
rustc-dev-guide.rust-lang.org
Source Code Representation This part describes the process of taking raw source code from the user and transforming it into various forms that the compiler can work with easily. These are called intermediate representations (IRs). This proc...
Guide to Rustc Development Book 2024-01-01 ~1 min read
rustc-dev-guide.rust-lang.org
Syntax and the AST Working directly with source code is very inconvenient and error-prone. Thus, before we do anything else, we convert raw source code into an Abstract Syntax Tree (AST). It turns out that doing this involves a lot of work,...
Guide to Rustc Development Book 2024-01-01 ~1 min read
"We feel that Rust is now ready to join C as a practical language for implementing the \[Linux\] kernel. It can help us reduce the number of potential ..."

Search tips

Type anything to search across articles, videos (including conference talks), podcasts, research, crates, and Rust API documentation. These operators give you finer control — click an example to try it.

Find pages containing all your words. Pages where the words appear together rank higher.
Quote part of your query to keep those words together as an exact phrase within a larger search.
Wrap the whole query in quotes for a verbatim search that matches text exactly, punctuation and all — perfect for Rust syntax. Needs at least 3 characters.
Put ! first to open the top result immediately. Quote the whole query for a literal leading bang, as in '!Send'. Bangs elsewhere, such as println!, stay literal. Browser and launcher shortcuts can invoke this directly. See search integrations.
Limit results to a single site. Works on its own () too. One site: per search.

Use the tabs and filters above the results to narrow by content type, publication year, and sort order.