diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-02-26 07:52:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-26 07:52:43 +0100 |
| commit | d6ca3885842d5ad282d9631fb4c94a1ba9227434 (patch) | |
| tree | 94a31c3fa5fff0c4a1f19f148360b3769c625b19 /compiler/rustc_codegen_llvm/src/llvm/mod.rs | |
| parent | 734b924d05a18194048381505960066a2a0a91f1 (diff) | |
| parent | a1d8ce46da103ffa6b96a80cc543ed4e447be917 (diff) | |
| download | rust-d6ca3885842d5ad282d9631fb4c94a1ba9227434.tar.gz rust-d6ca3885842d5ad282d9631fb4c94a1ba9227434.zip | |
Rollup merge of #94235 - Dirbaio:fix-chalk-opaque-debrujin, r=jackh726
chalk: Fix wrong debrujin index in opaque type handling.
A folder in opaque type lowering was substituting all opaque type references with a variable with debrujin index 0 ignoring how many binders deep we are.
This caused an ICE with `Not enough bound vars: ^0 not found in []` ([full logs](https://gist.github.com/Dirbaio/2b9374ff4fce37afb9d665dc9f0000df)) with the following code.
```rust
fn main() -> () {}
async fn foo(x: u32) -> u32 {
x
}
```
With the fix, it no longer ICEs. It still doesn't typecheck due to generator issues. I've added a "known-bug" test so that at least it doesn't regress back to ICEing.
r? ``@jackh726``
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/llvm/mod.rs')
0 files changed, 0 insertions, 0 deletions
