rust-analyzer/crates/ide-completion/src
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
..
completions Auto merge of #12982 - jridgewell:into_future, r=Veykril 2022-08-18 07:37:47 +00:00
context fix: complete path of existing record expr 2022-07-29 17:24:05 +02:00
render fix: format literal lookup 2022-08-16 01:24:21 +09:00
tests fix: a bunch of typos 2022-08-17 21:44:58 +08:00
completions.rs Fix pattern field completions not working for unions 2022-08-09 17:53:16 +02:00
config.rs fix: Fix fill-arguments completions not working 2022-05-13 19:52:44 +02:00
context.rs Fix pattern field completions not working for unions 2022-08-09 17:53:16 +02:00
item.rs Record derive helper attributes, resolve them in IDE layer 2022-07-26 09:26:51 +02:00
lib.rs Enable extra warnings required by rust-lang/rust 2022-07-20 15:00:17 +02:00
render.rs fix: format literal lookup 2022-08-16 01:24:21 +09:00
snippet.rs Run cargo fix --edition-idioms 2022-07-20 15:02:08 +02:00
tests.rs Be more explicit when filtering built-in completions 2022-07-28 21:45:47 +03:00