commit | 2f1b7cedcf5044ba620646c6758bbb99f46b8d95 | [log] [tgz] |
---|---|---|
author | bors <bors@rust-lang.org> | Sun Jun 04 18:25:23 2023 +0000 |
committer | bors <bors@rust-lang.org> | Sun Jun 04 18:25:23 2023 +0000 |
tree | 02d99bfb992f95b21ebb779d541dbdf020a3d29c | |
parent | 5545961df2d23ead445de4ba86a67b0c15bd09a8 [diff] | |
parent | f549cacc1d3fb09fd682fa4e0c29d45e8bd179a3 [diff] |
Auto merge of #14971 - lowr:fix/captured-item-ty-outer-binder, r=HKalbasi fix: consider outer binders when folding captured items' type Fixes #14966 Basically, the crash is caused by us producing a broken type and passing it to chalk: `&dyn for<type> [for<> Implemented(^1.0: A<^0.0>)]` (notice the innermost bound var `^0.0` has no corresponding binder). It's created in `CapturedItemWithoutTy::with_ty()`, which didn't consider outer binders when folding types to replace placeholders with bound variables. The fix is one-liner, but I've also refactored the surrounding code a little.
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.