diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2020-05-19 01:09:40 +0000 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2020-06-22 14:33:44 +0000 |
| commit | f2cf9944831f15b1940da85c8fb1b419dec9f074 (patch) | |
| tree | d7f255b1b039ca14ef42a048ede6fc83da60275a /src/rustllvm/CoverageMappingWrapper.cpp | |
| parent | 4199b3ae26007eb9c871b57f56057da586bbd1db (diff) | |
| download | rust-f2cf9944831f15b1940da85c8fb1b419dec9f074.tar.gz rust-f2cf9944831f15b1940da85c8fb1b419dec9f074.zip | |
rewrite leak check to be based on universes
In the new leak check, instead of getting a list of placeholders to track, we look for any placeholder that is part of a universe which was created during the snapshot. We are looking for the following error patterns: * P1: P2, where P1 != P2 * P1: R, where R is in some universe that cannot name P1 This new leak check is more precise than before, in that it accepts this patterns: * R: P1, even if R cannot name P1, because R = 'static is a valid sol'n * R: P1, R: P2, as above Note that this leak check, when running during subtyping, is less efficient than before in some sense because it is going to check and re-check all the universes created since the snapshot. We're going to move when the leak check runs to try and correct that.
Diffstat (limited to 'src/rustllvm/CoverageMappingWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
