rust-analyzer/crates
bors 1da9156b0d Auto merge of #12982 - jridgewell:into_future, r=Veykril
Implement IntoFuture type inference

One of my projects is using [IntoFuture](https://doc.rust-lang.org/std/future/trait.IntoFuture.html) to make our async code a little less verbose. However, rust-analyzer can't infer the output type of an await expression if the value uses `IntoFuture` to convert into another type. So we're getting `{unknown}` types everywhere since switching.

`foo.await` itself [desugars](e4417cf020/compiler/rustc_ast_lowering/src/expr.rs (L644-L658)) into a `match into_future(foo) {}`, with every `Future` impl getting a [default](e4417cf020/library/core/src/future/into_future.rs (L131-L139)) `IntoFuture` implementation. I'm not sure if we want to disable the old `future_trait` paths, since this only recently [stabilize](https://github.com/rust-lang/rust/pull/98718).
2022-08-18 07:37:47 +00:00
..
base-db remove imports that are also in edition 2021's prelude 2022-08-09 01:16:32 +02:00
cfg Run cargo fix --edition-idioms 2022-07-20 15:02:08 +02:00
flycheck fix: a bunch of typos 2022-08-17 21:44:58 +08:00
hir Auto merge of #12982 - jridgewell:into_future, r=Veykril 2022-08-18 07:37:47 +00:00
hir-def fix: a bunch of typos 2022-08-17 21:44:58 +08:00
hir-expand Auto merge of #12982 - jridgewell:into_future, r=Veykril 2022-08-18 07:37:47 +00:00
hir-ty Auto merge of #12982 - jridgewell:into_future, r=Veykril 2022-08-18 07:37:47 +00:00
ide Auto merge of #12982 - jridgewell:into_future, r=Veykril 2022-08-18 07:37:47 +00:00
ide-assists Auto merge of #12982 - jridgewell:into_future, r=Veykril 2022-08-18 07:37:47 +00:00
ide-completion Auto merge of #12982 - jridgewell:into_future, r=Veykril 2022-08-18 07:37:47 +00:00
ide-db Auto merge of #13044 - dzvon:fix-typo, r=Veykril 2022-08-17 14:59:02 +00:00
ide-diagnostics fix: a bunch of typos 2022-08-17 21:44:58 +08:00
ide-ssr Fix r-a spelling in some places 2022-08-01 13:47:09 +02:00
limit Properly cfg the max field of Limit 2022-07-31 19:27:20 +02:00
mbe fix: a bunch of typos 2022-08-17 21:44:58 +08:00
parser Recover from missing ellipsis in record literals for path expressions 2022-08-09 18:23:25 +02:00
paths Auto merge of #12808 - Veykril:check-workspace, r=Veykril 2022-08-04 12:57:04 +00:00
proc-macro-api remove imports that are also in edition 2021's prelude 2022-08-09 01:16:32 +02:00
proc-macro-srv Auto merge of #12989 - lnicola:rm-1-64-abi, r=Veykril 2022-08-10 14:53:21 +00:00
proc-macro-srv-cli Gate and rename binary, use it if it's in the sysroot 2022-07-25 16:22:39 +02:00
proc-macro-test revert nightly rustfmt formatting that accidentally slipped in 2022-07-25 14:18:30 +02:00
profile Run cargo fix --edition-idioms 2022-07-20 15:02:08 +02:00
project-model fix: a bunch of typos 2022-08-17 21:44:58 +08:00
rust-analyzer fix: a bunch of typos 2022-08-17 21:44:58 +08:00
sourcegen run stable fmt through rustup 2022-08-06 17:25:02 +03:00
stdx Enable extra warnings required by rust-lang/rust 2022-07-20 15:00:17 +02:00
syntax fix: a bunch of typos 2022-08-17 21:44:58 +08:00
test-utils Implement IntoFuture type inference 2022-08-08 21:05:56 -04:00
text-edit Enable extra warnings required by rust-lang/rust 2022-07-20 15:00:17 +02:00
toolchain Enable extra warnings required by rust-lang/rust 2022-07-20 15:00:17 +02:00
tt Run cargo fix --edition-idioms 2022-07-20 15:02:08 +02:00
vfs fix: a bunch of typos 2022-08-17 21:44:58 +08:00
vfs-notify Don't switch workspace on vfs file changes from libraries 2022-08-05 12:06:42 +02:00