rust-analyzer/crates
bors b1a4ba3e84 Auto merge of #13223 - lowr:fix/hir-proj-normalization, r=flodiebold
fix: handle lifetime variables in projection normalization

Fixes #12674

The problem is that we've been skipping the binders of normalized projections assuming they should be empty, but the assumption is unfortunately wrong. We may get back lifetime variables and should handle them before returning them as normalized projections. For those who are curious why we get those even though we treat all lifetimes as 'static, [this comment in chalk](d875af0ff1/chalk-solve/src/infer/unify.rs (L888-L908)) may be interesting.

I thought using `InferenceTable` would be cleaner than the other ways as it already has the methods for canonicalization, normalizing projection, and resolving variables, so moved goal building and trait solving logic to a new `HirDatabase` query. I made it transparent query as the query itself doesn't do much work but the eventual call to `HirDatabase::trait_solve_query()` does.
2022-09-12 14:24:57 +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 Pop an error notification when flycheck can't be restarted 2022-08-22 17:42:33 +02:00
hir Auto merge of #13223 - lowr:fix/hir-proj-normalization, r=flodiebold 2022-09-12 14:24:57 +00:00
hir-def Add config to unconditionally prefer core imports over std 2022-09-09 20:04:56 +02: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 #13223 - lowr:fix/hir-proj-normalization, r=flodiebold 2022-09-12 14:24:57 +00:00
ide Auto merge of #13223 - lowr:fix/hir-proj-normalization, r=flodiebold 2022-09-12 14:24:57 +00:00
ide-assists Add config to unconditionally prefer core imports over std 2022-09-09 20:04:56 +02:00
ide-completion Auto merge of #13212 - Veykril:no-std-config, r=Veykril 2022-09-12 11:51:31 +00:00
ide-db Add config to unconditionally prefer core imports over std 2022-09-09 20:04:56 +02:00
ide-diagnostics Add config to unconditionally prefer core imports over std 2022-09-09 20:04:56 +02: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 fix: a bunch of typos 2022-08-17 21:44:58 +08: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 Replace crossbeam with std's scoped threads 2022-08-22 14:55:13 +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 Update test fixtures 2022-08-25 21:07:24 +02:00
rust-analyzer Auto merge of #13186 - enomado:master, r=Veykril 2022-09-12 12:09:57 +00: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 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 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