rust/src
Mark Rousskov 0127704c98
Rollup merge of #52610 - MajorBreakfast:task-terminology, r=cramertj
Clarify what a task is

Currently we call two distinct concepts "task":
1. The top-level future that is polled until completion
2. The lightweight "thread" that is responsible for polling the top-level future. What additional data beside the future is stored in this type varies between different `Executor` implementations.

I'd prefer to return to the old formulation by @alexcrichton:
```rust
/// A handle to a "task", which represents a single lightweight "thread" of
/// execution driving a future to completion.
pub struct Task {
```
Source: [`task_impl/mod.rs` in futures-rs 0.1](1328fc9e8a/src/task_impl/mod.rs (L49-L50))

I think that this change will make it much easier to explain everything.

r? @aturon
@cramertj
2018-07-26 09:18:25 -06:00
..
bootstrap Rollup merge of #52642 - ljedrz:expect_fun_call, r=Mark-Simulacrum 2018-07-24 09:50:00 +08:00
build_helper Don't build twice the sanitizers on Linux 2018-07-18 07:44:11 -07:00
ci Auto merge of #52561 - ljedrz:fixme_cc_271, r=alexcrichton 2018-07-25 09:45:06 +00:00
dlmalloc@c99638dc2e
doc update nightly book 2018-07-23 21:54:43 -05:00
etc Enable default inlining in platform intrinsics 2018-07-16 14:36:00 +02:00
grammar
jemalloc@1f5a28755e
liballoc Auto merge of #52189 - cuviper:static-box-leak, r=bluss 2018-07-24 10:46:21 +00:00
liballoc_jemalloc Deny bare trait objects in the rest of rust 2018-07-12 13:50:22 +02:00
liballoc_system Deny bare trait objects in the rest of rust 2018-07-12 13:50:22 +02:00
libarena Deny bare trait objects in the rest of rust 2018-07-12 13:50:22 +02:00
libbacktrace@f4d02bbdbf
libcompiler_builtins@b4a3645cfe update compiler-builtins for openbsd 2018-07-18 10:38:56 -07:00
libcore Rollup merge of #52610 - MajorBreakfast:task-terminology, r=cramertj 2018-07-26 09:18:25 -06:00
libfmt_macros fix test 2018-07-21 20:48:15 -07:00
libgraphviz Deny bare trait objects in the rest of rust 2018-07-12 13:50:22 +02:00
liblibc@b6d23ed45d
libpanic_abort Deny bare trait objects in the rest of rust 2018-07-12 13:50:22 +02:00
libpanic_unwind Deny bare trait objects in in src/libpanic_unwind 2018-07-11 17:11:08 +02:00
libproc_macro proc_macro: avoid exposing internal details in formatting impls. 2018-07-20 06:27:16 +03:00
libprofiler_builtins Deny bare trait objects in the rest of rust 2018-07-12 13:50:22 +02:00
librustc Rollup merge of #52658 - Wallacoloo:topics/use-option-methods, r=cramertj 2018-07-24 16:43:49 -06:00
librustc_allocator Deny bare trait objects in in src/librustc_allocator 2018-07-11 12:08:49 +02:00
librustc_apfloat Deny bare trait objects in the rest of rust 2018-07-12 13:50:22 +02:00
librustc_asan Don't build twice the sanitizers on Linux 2018-07-18 07:44:11 -07:00
librustc_borrowck TyKind 2018-07-16 15:09:17 +02:00
librustc_codegen_llvm Rollup merge of #52391 - Amanieu:volatile_unaligned, r=alexcrichton 2018-07-24 16:43:44 -06:00
librustc_codegen_utils Deny bare trait objects in in src/librustc_codegen_utils 2018-07-11 17:39:49 +02:00
librustc_cratesio_shim
librustc_data_structures Auto merge of #52250 - nnethercote:no-SparseBitMatrix, r=nikomatsakis 2018-07-22 02:43:57 +00:00
librustc_driver Auto merge of #52181 - QuietMisdreavus:panicked-tester, r=GuillaumeGomez 2018-07-24 19:34:11 +00:00
librustc_errors Buffer errors in MIR borrow check 2018-07-23 14:20:12 +02:00
librustc_incremental Implement existential types 2018-07-18 10:53:08 +02:00
librustc_lint make it a migration lint 2018-07-23 21:55:51 -05:00
librustc_llvm rustc: Remove a workaroudn in ThinLTO fixed upstream 2018-07-18 11:37:56 -07:00
librustc_lsan Don't build twice the sanitizers on Linux 2018-07-18 07:44:11 -07:00
librustc_metadata librustc: Prefer Option::map/etc over match where applicable 2018-07-23 22:05:45 -07:00
librustc_mir Auto merge of #52597 - oli-obk:promotion_simplify, r=nagisa 2018-07-24 13:10:06 +00:00
librustc_msan Don't build twice the sanitizers on Linux 2018-07-18 07:44:11 -07:00
librustc_passes Promoteds are statics and statics have a place, not just a value 2018-07-23 09:51:30 +02:00
librustc_platform_intrinsics Enable default inlining in platform intrinsics 2018-07-16 14:36:00 +02:00
librustc_plugin ItemKind 2018-07-16 15:09:17 +02:00
librustc_privacy Implement existential types 2018-07-18 10:53:08 +02:00
librustc_resolve Auto merge of #52589 - petrochenkov:derlint, r=alexcrichton 2018-07-23 11:39:50 +00:00
librustc_save_analysis Match ergonomics 2018-07-18 10:53:10 +02:00
librustc_target Change single char str patterns to chars 2018-07-23 15:32:57 +02:00
librustc_traits Convert implied_outlives_bounds to a query 2018-07-21 15:56:44 +03:00
librustc_tsan Don't build twice the sanitizers on Linux 2018-07-18 07:44:11 -07:00
librustc_typeck Rollup merge of #52391 - Amanieu:volatile_unaligned, r=alexcrichton 2018-07-24 16:43:44 -06:00
librustdoc Auto merge of #52257 - steveklabnik:refactor-rustdoc, r=QuietMisdreavus 2018-07-24 22:25:42 +00:00
libserialize Remove most of PartialEq impls from AST and HIR structures 2018-07-14 14:56:57 +03:00
libstd Rollup merge of #52658 - Wallacoloo:topics/use-option-methods, r=cramertj 2018-07-24 16:43:49 -06:00
libstd_unicode
libsyntax Rollup merge of #52645 - oli-obk:existential_in_fn_body, r=dtolnay 2018-07-24 16:43:46 -06:00
libsyntax_ext Rollup merge of #52658 - Wallacoloo:topics/use-option-methods, r=cramertj 2018-07-24 16:43:49 -06:00
libsyntax_pos Auto merge of #52024 - oli-obk:existential_parse, r=nikomatsakis 2018-07-19 21:14:01 +00:00
libterm
libtest Deny bare trait objects in librustc_target and libtest 2018-07-12 13:26:29 +02:00
libunwind Deny bare trait objects in the rest of rust 2018-07-12 13:50:22 +02:00
llvm@0368490510 Upgrade to LLVM's master branch (LLVM 7) 2018-07-10 13:43:01 -07:00
llvm-emscripten@2717444753
rtstartup
rustc
rustllvm Auto merge of #52506 - alexcrichton:dont-duplicate-wasm-sections, r=michaelwoerister 2018-07-23 13:42:23 +00:00
stdsimd@b9de11ab43 Update stdsimd to undo an accidental stabilization 2018-07-20 22:34:09 -07:00
test Rollup merge of #52558 - wesleywiser:ice_melting, r=estebank 2018-07-26 09:18:23 -06:00
tools Auto merge of #52181 - QuietMisdreavus:panicked-tester, r=GuillaumeGomez 2018-07-24 19:34:11 +00:00
Cargo.lock Fix color detection for Windows msys terminals. 2018-07-22 11:19:44 -07:00
Cargo.toml Auto merge of #52388 - oli-obk:clippy, r=Manishearth 2018-07-15 00:29:43 +00:00
README.md
stage0.txt Bump bootstrap compiler to 1.28.0-beta.10 2018-07-13 19:33:48 +02:00

This directory contains the source code of the rust project, including:

  • rustc and its tests
  • libstd
  • Various submodules for tools, like rustdoc, rls, etc.

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

Their is also useful content in the following READMEs, which are gradually being moved over to the guide: