commit | 3dfd4c1f4c955e13d5936a3ffa2a19661c97cd07 | [log] [tgz] |
---|---|---|
author | bors <bors@rust-lang.org> | Sun Mar 24 15:05:14 2024 +0000 |
committer | bors <bors@rust-lang.org> | Sun Mar 24 15:05:14 2024 +0000 |
tree | 082edc685a99176ac2fc692666c1a06b0d0f0516 | |
parent | e265e3d5189513c42d037999d41a696369af9388 [diff] | |
parent | 142ef764ee3af3cee8d6336ee153a9e3f13fec90 [diff] |
Auto merge of #16915 - 6d7a:master, r=HKalbasi fix: Prevent stack overflow in recursive const types In the evaluation of const values of recursive types certain declarations could cause an endless call-loop within the interpreter (hir-ty’s create_memory_map), which would lead to a stack overflow. This commit adds a check that prevents values that contain an address in their value (such as TyKind::Ref) from being allocated at the address they contain. The commit also adds a test for this edge case.
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.