rust/crates
bors 74ae2dd303 Auto merge of #13840 - lowr:fix/hir-callable-sig-escaping-boundvars, r=lowr
fix: handle lifetime variables in `CallableSig` query

Fixes #13838

The problem is similar to #13223: we've been skipping non-empty binders, letting lifetime bound variables escape.

I ended up refactoring `hir_ty::callable_sig_from_fnonce()`. Like #13223, I chose to make use of `InferenceTable` which is capable of handling variables (I feel we should always use it when we solve trait-related stuff instead of manually building obligations/queries).

I couldn't make up a test that crashes without this patch (since the function I'm fixing is only used *outside* `hir-ty`, simple `hir-ty` test wouldn't cause crash), but at least I tested with my local build and made sure it doesn't crash with the code in the original issue. I'd appreciate any help to find a regression test.
2022-12-25 14:53:16 +00:00
..
base-db Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
cfg Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
flycheck Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
hir Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
hir-def Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
hir-expand Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
hir-ty Auto merge of #13840 - lowr:fix/hir-callable-sig-escaping-boundvars, r=lowr 2022-12-25 14:53:16 +00:00
ide Auto merge of #13840 - lowr:fix/hir-callable-sig-escaping-boundvars, r=lowr 2022-12-25 14:53:16 +00:00
ide-assists Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
ide-completion Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
ide-db Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
ide-diagnostics Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
ide-ssr Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
limit Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
mbe Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
parser Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
paths ⬆️ rust-analyzer 2022-11-23 17:24:03 +02:00
proc-macro-api Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
proc-macro-srv Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
proc-macro-srv-cli ⬆️ rust-analyzer 2022-11-23 17:24:03 +02:00
proc-macro-test Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
profile Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
project-model Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
rust-analyzer Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
sourcegen Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
stdx Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
syntax Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
test-utils Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
text-edit ⬆️ rust-analyzer 2022-11-23 17:24:03 +02:00
toolchain ⬆️ rust-analyzer 2022-11-23 17:24:03 +02:00
tt Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
vfs Inline all format arguments where possible 2022-12-24 14:36:10 -05:00
vfs-notify ⬆️ rust-analyzer 2022-11-23 17:24:03 +02:00