Back to Programs

Programming languages

The Rust Foundation

A language empowering everyone

pythonrust

Participation history

3 GSoC years

2026

13 projects

Official year page

libc: transition differing bit-width time and offset variants and deprecate bug-prone constants

This proposal focuses mainly on two points of the `libc` issue tracking the `1.0` release. The first of these addresses the presence of 64-bit and...

XDG path support for rustup

Historically, rustup has relied on $RUSTUP_HOME (defaulting to $HOME/.rustup) and $CARGO_HOME (defaulting to $HOME/.cargo) as monolithic directories...

Adding WebAssembly Linking Support to Wild

This project aims to add WebAssembly support to the Wild linker. Wild linker is a high-performance Linux linker written in Rust, and supporting the...

A Frontend for Safe GPU Offloading in Rust

The `offload` feature is currently working on the Rust compiler but still there's no safe and user-friendly interface. Right now, the only way to use...

Debugger for Miri

Miri finds undefined behavior but can't explain why, its only debug aid is thousands of lines of interpreter logs. The original Priroda step debugger...

Improving Ergonomics and Safety of serialport-rs

The recent release of serialport 4.9.0 has provided an opportunity to thoughtfully plan the next major release, catching up on features that have...

Implementing impl and mut restrictions

In Rust, trait visibility currently implies implementability. If a trait is visible within a given scope, it can also be implemented in that same...

Bringing autodiff and offload into Rust CI

This project brings autodiff and offload into Rust CI by making them buildable and verifiable in the CI pipeline. Autodiff is currently only...

Migrating rust-analyzer assists to SyntaxEditor

This project aims to eliminate all usage of legacy mutable syntax APIs, incrementally update rowan and introduce necessary changes to RA, and then...

Link Linux kernel and its Modules with Wild

Currently, the wild linker has limited support for linker scripts, which are commonly used in the Linux Kernel and embedded development. This makes...

Utilize debugger APIs to improve debug­ info test accuracy and error reporting

Currently, the debuginfo test suite has a number of shortcomings: it is sensi­tive to the installed debugger and python version; it does not account...

Port std::arch test suite to rust-lang/rust

The std::arch in the standard library provides architecture-specific intrinsic functions, which directly map to a single machine instruction. The...

Reorganizing tests/ui/issues

Currently there is obsolete `tests/ui/issues`directory in `rustc` test suite which was used to store regression tests in it. Now with the growth of...

2025

18 projects

Official year page

Modernising the libc Crate

The libc crate has been a core part of Rust since its early days, making breaking changes increasingly difficult over time. Redundant and legacy code...

Add safety contracts

There is ongoing work to instrument the Rust standard library with safety contracts. Based on a discussion by the Formal Verification Working Group...

Bootstrap of rustc with rustc_codegen_gcc

Currently, the new, experimental GCC based compiler backend for Rust(`rustc_codegeng_gcc`) is not able to build the Rust compiler. The goal of this...

Make Rustup Concurrent

Rustup is the official toolchain installer and version manager for the Rust programming language. The current implementation of Rustup processes...

Prototype an alternative architecture for cargo fix using cargo check

The current implementation of cargo fix is quite slow and makes extra calls to rustc slowing down the process. A simplified architecture would also...

Distributed and resource-efficient verification

Reduce CI time in verify-rust-std repo by offloading proof verification to multiple Github Runner machines to run verification in parallel, and more...

Make cargo-semver-checks faster

cargo-semver-checks is a development tool that allows rust libraries to check whether a release breaks semver by running lints on the API. For...

Mapping the Maze of Rust's UI Test Suite with Established Continuous Integration Practices

Despite `tests/ui`'s usefulness to maintainers, it acts as a barrier to new contributors - with how expansive it is, major pull requests can break...

Improve Wild linker test suites

This project aims to enhance the testing of the Wild linker by leveraging existing linker test suites, providing strong support for its development....

Parallel Macro Expansion

A lot of work has been done to parallelize the Rust compiler frontend, with notable success in code generation and some post-HIR lowering stages....

Extend behavioural testing of std::arch intrinsics

Rust's std::arch module houses vendor-specific intrinsics (low-level functions that typically correspond to single machine instructions) which are...

Prepare stable_mir crate for publishing

StableMIR aims to provide a stable Rust compiler interface via a stable_mir crate on crates.io, shielding external tools from internal changes....

Cargo: Build script delegation

This project aims to overcome the limitations of the current Build Script system by allowing multiple, well-organised build scripts, that are...

ABI/Layout handling for the automatic differentiation feature

The integration of automatic differentiation (autodiff) into the Rust compiler via Enzyme faces challenges due to ABI adjustments that alter function...

Implement merge functionality in bors

Various Rust repositories under the rust-lang organization use a merge queue bot, bors, for testing and merging pull requests. This project aims to...

Improve bootstrap

This project aims to enhance the testability of Bootstrap and make it faster, the Rust build system, by improving its architecture, refining its...

Enable Witness Generation in cargo-semver-checks

The crate cargo-semver-checks provides feedback to user based on what possible breaking changes they may have made, which as per semantic versioning...

Prototype Cargo Plumbing Commands

This project prototypes a new set of Cargo plumbing commands, aligned with Rust’s 2025H1 project goals. Plumbing commands are lower-level, less...

2024

9 projects

Official year page

Improve Rust benchmark suite

rustc-perf is composed of a data collector that collects rustc’s comiple & runtime benchmarks and web application that visualize the collected data....

Design and Implementation of a Faster Register Allocator For Cranelift

The Rust compiler is notorious for needing to be faster at its job. Enormous effort has been put into solving this problem, but there is still room...

Move cargo shell completions to Rust

Project Description: The existing completion functionality for cargo commands is achieved through the maintenance of a completion script. This script...

Rewriting the Rewrite trait

Rustfmt, the de facto standard tool for formatting Rust code, has been reported that it occasionally fails to format silently. One of the major...

Tokio async support in Miri

Miri is a testing tool to check undefined behaviour in unsafe Rust. Currently, a significant portion of Tokio async program still cannot be...

Rewriting Esoteric, Error-Prone Makefile Tests Using Robust Rust Features

tests/run-make contains a heaping collection - 349 to be precise - of Makefiles containing ancient and difficult to understand test scripts. As a...

Sandboxed and Deterministic Proc Macro using Wasm

Add experimental support to rustc for building and running procedural macros as WebAssembly. Procedural Macro crates can opt in for being compiled to...

Adding lint-level configuration to cargo-semver-checks

cargo-semver-checks is an amazing tool in the Rust ecosystem that automatically detects violations in Semantic Versioning (semver) using lints....

Rust to .NET compiler - add support for compiling & running cargo tests

This proposal aims to extend the ability of `rustc_codegen_clr`, the Rust to .NET compiler backend, to run `cargo test`s. While the project is...