rust/src
bors b5eb9893f4 Auto merge of #141406 - RalfJung:less-force-allocate, r=oli-obk
interpret: do not force_allocate all return places

A while ago I cleaned up our `PlaceTy` a little, but as a side-effect of that, return places had to always be force-allocated. That turns out to cause quite a few extra allocations, and for a project we are doing where we marry Miri with a model checker, that means a lot of extra work -- local variables are just so much easier to reason about than allocations.

So, this PR brings back the ability to have the return place be just a local of the caller. To make this work cleanly I had to rework stack pop handling a bit, which also changes the output of Miri in some cases as the span for errors occurring during a particular phase of stack pop changed.

With these changes, a no-std binary with a function of functions that just take and return scalar types and that uses no pointers now does not move *any* local variables into memory. :)

r? `@oli-obk`
2025-05-26 10:29:19 +00:00
..
bootstrap bootstrap: clippy: set TESTNAME based on given paths 2025-05-25 09:55:50 +08:00
build_helper Remove git_repository field from GitConfig 2025-04-23 10:41:20 +02:00
ci Rollup merge of #141502 - marcoieni:x86_64-gnu-tools-codebuild, r=Kobzol 2025-05-26 03:38:18 +02:00
doc Rollup merge of #141486 - xizheyin:issue-141414, r=GuillaumeGomez 2025-05-24 16:08:48 +02:00
etc Auto merge of #141062 - ChaiTRex:ide_fmt_2024, r=Mark-Simulacrum 2025-05-23 11:15:24 +00:00
gcc@04ce66d8c9 Update src/gcc submodule to 04ce66d8c918de9273bd7101638ad8724edf5e21 2025-05-14 18:02:02 +02:00
librustdoc Update to new API 2025-05-25 15:27:32 +02:00
llvm-project@c1118fdbb3 Update to LLVM 20.1.5 2025-05-16 08:34:16 +08:00
rustc-std-workspace update rustc-std-workspace crates 2024-11-04 07:45:15 +01:00
rustdoc-json-types rustdoc JSON: Don't apply #[repr] privacy heuristics 2025-05-22 21:26:48 +02:00
tools Auto merge of #141406 - RalfJung:less-force-allocate, r=oli-obk 2025-05-26 10:29:19 +00:00
README.md
stage0 update stage0 compiler 2025-05-12 15:33:35 +02:00
version bump version number to 1.89.0 2025-05-09 11:13:08 +02:00

This directory contains some source code for the Rust project, including:

  • The bootstrapping build system
  • Various submodules for tools, like cargo, tidy, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.