rust-analyzer/crates
bors 1f929659ac Auto merge of #13209 - lowr:feat/inference-for-generator, r=Veykril
feat: type inference for generators

This PR implements basic type inference for generator and yield expressions.

Things not included in this PR:
- Generator upvars and generator witnesses are not implemented. They are only used to determine auto trait impls, so basic type inference should be fine without them, but method resolutions with auto trait bounds may not be resolved correctly.

Open questions:
- I haven't (yet) implemented `HirDisplay` for `TyKind::Generator`, so generator types are just shown as "{{generator}}" (in tests, inlay hints, hovers, etc.), which is not really nice. How should we show them?
- I added moderate amount of stuffs to minicore. I especially didn't want to add `impl<T> Deref for &T` and `impl<T> Deref for &mut T` exclusively for tests for generators; should I move them into the test fixtures or can they be placed in minicore?

cc #4309
2022-09-26 09:28:41 +00:00
..
base-db Make use of NoHash hashing for FileId and CrateId 2022-08-25 20:41:49 +02:00
cfg Run cargo fix --edition-idioms 2022-07-20 15:02:08 +02:00
flycheck Add cargo.extraEnv setting 2022-09-13 11:29:14 -07:00
hir Fix diagnostics not working in enum variant bodies 2022-09-24 03:07:05 +02:00
hir-def Auto merge of #13209 - lowr:feat/inference-for-generator, r=Veykril 2022-09-26 09:28:41 +00:00
hir-expand Auto merge of #13167 - iDawer:exhaustive_patterns, r=Veykril 2022-09-02 12:32:36 +00:00
hir-ty Auto merge of #13209 - lowr:feat/inference-for-generator, r=Veykril 2022-09-26 09:28:41 +00:00
ide Auto merge of #12966 - OleStrohm:master, r=Veykril 2022-09-20 14:01:16 +00:00
ide-assists Auto merge of #13227 - Veykril:core-pref, r=Veykril 2022-09-13 13:16:57 +00:00
ide-completion Complete variants and assoc items in path pattern through type aliases 2022-09-16 16:11:58 +02:00
ide-db Auto merge of #12966 - OleStrohm:master, r=Veykril 2022-09-20 14:01:16 +00:00
ide-diagnostics Fix tests by using primitive rather than String. 2022-09-16 16:56:19 -05:00
ide-ssr Add config to unconditionally prefer core imports over std 2022-09-09 20:04:56 +02:00
limit Properly cfg the max field of Limit 2022-07-31 19:27:20 +02:00
mbe mbe: Remove unneeded unwrap 2022-09-14 23:49:08 +02:00
parser Auto merge of #13160 - ChayimFriedman2:parse-parenthesized-type-path-with-coloncolon, r=jonas-schievink 2022-09-01 21:00:14 +00: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 Don't run proc-macro-srv tests on the rust-analyzer repo 2022-09-24 00:08:28 +02: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 Simplify 2022-09-20 14:33:18 +02:00
rust-analyzer Use the sysroot proc-macro server for analysis-stats 2022-09-24 22:04:17 +02:00
sourcegen run stable fmt through rustup 2022-08-06 17:25:02 +03:00
stdx Update test fixtures 2022-08-25 21:07:24 +02:00
syntax Fmt 2022-09-02 21:18:36 +00:00
test-utils Add tests for type inference for generators 2022-09-13 02:43:07 +09: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 Make use of NoHash hashing for FileId and CrateId 2022-08-25 20:41:49 +02:00
vfs-notify Bump notify 2022-08-19 21:37:05 +03:00