rust/library/core/src
Arpad Borsos 9f36f988ad
Avoid GenFuture shim when compiling async constructs
Previously, async constructs would be lowered to "normal" generators,
with an additional `from_generator` / `GenFuture` shim in between to
convert from `Generator` to `Future`.

The compiler will now special-case these generators internally so that
async constructs will *directly* implement `Future` without the need
to go through the `from_generator` / `GenFuture` shim.

The primary motivation for this change was hiding this implementation
detail in stack traces and debuginfo, but it can in theory also help
the optimizer as there is less abstractions to see through.
2022-11-24 10:04:27 +01:00
..
alloc Rollup merge of #102207 - CraftSpider:const-layout, r=scottmcm 2022-11-22 01:26:07 -05:00
array document and improve array Guard type 2022-11-08 00:13:26 +01:00
async_iter use consistent terminology 2022-10-29 09:23:12 +02:00
cell Properly link {Once,Lazy}{Cell,Lock} in docs 2022-11-17 11:05:56 +00:00
char Rollup merge of #102470 - est31:stabilize_const_char_convert, r=joshtriplett 2022-11-14 19:26:15 +01:00
convert Rollup merge of #102628 - H4x5:master, r=scottmcm 2022-10-04 06:14:12 +02:00
ffi Rollup merge of #103680 - RalfJung:cstr-links, r=JohnTitor 2022-11-04 12:18:00 +01:00
fmt Rollup merge of #103901 - H4x5:fmt-arguments-as-str-tracking-issue, r=the8472 2022-11-20 13:15:58 +09:00
future Avoid GenFuture shim when compiling async constructs 2022-11-24 10:04:27 +01:00
hash Test const Hash, fix nits 2022-11-08 17:39:40 +01:00
intrinsics Add support for custom MIR parsing 2022-11-08 23:13:15 -08:00
iter Hide the items while waiting for the ACP 2022-11-18 19:46:18 -08:00
macros Readd the matches_macro diag item 2022-11-17 19:32:28 +01:00
mem Auto merge of #104054 - RalfJung:byte-provenance, r=oli-obk 2022-11-15 17:37:15 +00:00
num Rollup merge of #104420 - TethysSvensson:master, r=JohnTitor 2022-11-21 14:11:09 +01:00
ops Rollup merge of #104383 - WaffleLapkin:rustc_undiagnostic_item, r=compiler-errors 2022-11-15 01:40:44 +01:00
panic Change tracking issue from #76156 to #102911 2022-10-11 06:40:37 +00:00
prelude Rollup merge of #102049 - fee1-dead-contrib:derive_const, r=oli-obk 2022-11-12 12:02:50 +05:30
ptr disable strict-provenance-violating doctests in Miri 2022-11-22 11:49:02 +01:00
slice Rollup merge of #83608 - Kimundi:index_many, r=Mark-Simulacrum 2022-11-22 01:26:05 -05:00
str fix OOB access in SIMD impl of str.contains() 2022-11-22 20:59:19 +01:00
sync Remove extra spaces 2022-10-19 23:54:00 +01:00
task Avoid GenFuture shim when compiling async constructs 2022-11-24 10:04:27 +01:00
unicode Bump Unicode to version 15.0.0, regenerate tables 2022-09-14 13:21:19 -07:00
any.rs Add Provider::{would_be_satisfied_by_value_of,would_be_satisfied_by_ref_of} 2022-08-23 10:48:59 -04:00
arch.rs move core::arch into separate file 2022-11-20 10:28:14 +01:00
ascii.rs
asserting.rs
bool.rs Add missing assertion 2022-09-22 02:12:06 -04:00
borrow.rs Add const_traits 2022-09-16 11:48:42 +08:00
cell.rs Rollup merge of #104002 - RalfJung:unsafecell-new, r=JohnTitor 2022-11-06 08:35:27 +01:00
clone.rs
cmp.rs Use derive_const and rm manual StructuralEq impl 2022-11-12 12:57:10 +00:00
const_closure.rs Merge conflicts and rebase onto master 2022-11-05 18:05:44 +00:00
default.rs cfg-step code 2022-11-06 17:21:21 -05:00
error.md Small round of typo fixes 2022-11-04 20:06:18 -07:00
error.rs Add get_many_mut methods to slice 2022-11-20 11:19:11 -05:00
hint.rs Bump version placeholders to release 2022-11-06 17:11:02 -05:00
internal_macros.rs
intrinsics.rs constify exact_div intrinsic 2022-11-19 16:36:08 +01:00
lib.rs Rollup merge of #102207 - CraftSpider:const-layout, r=scottmcm 2022-11-22 01:26:07 -05:00
marker.rs Enforce that dyn* casts are actually pointer-sized 2022-11-18 18:23:48 +00:00
option.rs Bump version placeholders to release 2022-11-06 17:11:02 -05:00
panic.rs Fix clippy and rustdoc 2022-11-13 22:58:20 +00:00
panicking.rs cfg-step code 2022-11-06 17:21:21 -05:00
pin.rs Rollup merge of #103396 - RalfJung:pinning-closure-captures, r=dtolnay 2022-11-22 00:01:06 +01:00
primitive_docs.rs disable strict-provenance-violating doctests in Miri 2022-11-22 11:49:02 +01:00
primitive.rs
result.rs Auto merge of #98354 - camsteffen:is-some-and-by-value, r=m-ou-se 2022-10-02 12:48:15 +00:00
time.rs Bump version placeholders to release 2022-11-06 17:11:02 -05:00
tuple.rs const Compare Tuples 2022-11-09 09:52:04 +01:00
unit.rs