rust/src
Matthias Krüger 455382d8df
Rollup merge of #119984 - kpreid:waker-noop, r=dtolnay
Change return type of unstable `Waker::noop()` from `Waker` to `&Waker`.

The advantage of this is that it does not need to be assigned to a variable to be used in a `Context` creation, which is the most common thing to want to do with a noop waker. It also avoids unnecessarily executing the dynamically dispatched drop function when the noop waker is dropped.

If an owned noop waker is desired, it can be created by cloning, but the reverse is harder to do since it requires declaring a constant. Alternatively, both versions could be provided, like `futures::task::noop_waker()` and `futures::task::noop_waker_ref()`, but that seems to me to be API clutter for a very small benefit, whereas having the `&'static` reference available is a large reduction in boilerplate.

[Previous discussion on the tracking issue starting here](https://github.com/rust-lang/rust/issues/98286#issuecomment-1862159766)
2024-01-19 19:27:01 +01:00
..
bootstrap Rollup merge of #120096 - onur-ozkan:rustc_bootstrap, r=dtolnay 2024-01-18 20:56:21 +01:00
ci Add debug info for macOS CI actions 2024-01-10 10:54:46 -08:00
doc Auto merge of #118708 - davidtwco:target-tier-assembly-test, r=Mark-Simulacrum 2024-01-17 16:18:28 +00:00
etc Auto merge of #119654 - onur-ozkan:bump-dependencies, r=clubby789 2024-01-11 10:46:43 +00:00
librustdoc Rollup merge of #117662 - GuillaumeGomez:links-in-headings, r=notriddle 2024-01-19 19:26:59 +01:00
llvm-project@700fbf978e Update LLVM submodule 2024-01-10 09:35:29 +01:00
rustdoc-json-types Add is_object_safe information for traits in JSON output 2023-12-23 11:43:31 +01:00
tools Rollup merge of #119984 - kpreid:waker-noop, r=dtolnay 2024-01-19 19:27:01 +01:00
README.md Remove stale reference to the test suite location 2023-01-13 11:49:06 +00:00
stage0.json bump stage0 2023-12-22 11:04:31 +01:00
version bump version number to 1.77.0 2023-12-21 10:58:56 +01: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.