commit | 74ae2dd3039cd80fc77e4ed0c0a206be6660dd9a | [log] [tgz] |
---|---|---|
author | bors <bors@rust-lang.org> | Sun Dec 25 14:53:16 2022 +0000 |
committer | bors <bors@rust-lang.org> | Sun Dec 25 14:53:16 2022 +0000 |
tree | 0fdb766c3330fee976d49ec5dcdf5c7bc954cc9f | |
parent | 2872e0558982360d499bdba79cf1a3ed06f1ae82 [diff] | |
parent | a1a408367e5c4d8b4a323d5e65d8df4d3d9c44cc [diff] |
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.
rust-analyzer is a modular compiler frontend for the Rust language. It is a part of a larger rls-2.0 effort to create excellent IDE support for Rust.
https://rust-analyzer.github.io/manual.html#installation
If you want to contribute to rust-analyzer or are just curious about how things work under the hood, check the ./docs/dev folder.
If you want to use rust-analyzer's language server with your editor of choice, check the manual folder. It also contains some tips & tricks to help you be more productive when using rust-analyzer.
See the corresponding sections of the manual.
For usage and troubleshooting requests, please use “IDEs and Editors” category of the Rust forum:
https://users.rust-lang.org/c/ide/14
For questions about development and implementation, join rust-analyzer working group on Zulip:
https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer
rust-analyzer is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.