diff options
| author | Rémy Rakic <remy.rakic+github@gmail.com> | 2025-01-09 15:33:38 +0000 |
|---|---|---|
| committer | Rémy Rakic <remy.rakic+github@gmail.com> | 2025-01-17 11:52:58 +0000 |
| commit | dee52a31789fb87e04b4762df5b84d52738b1adb (patch) | |
| tree | 16e14e2dfe4d89a1c092039544bc4a2315786f11 /compiler/rustc_borrowck/src/polonius/mod.rs | |
| parent | 0114a9707e92306adc15111cfb1ea9d1ab0e8f05 (diff) | |
| download | rust-dee52a31789fb87e04b4762df5b84d52738b1adb.tar.gz rust-dee52a31789fb87e04b4762df5b84d52738b1adb.zip | |
encode `Locations::All` typeck constraints as logical edges
Instead of materializing `Locations::All` constraints as physical edges at all the points in the CFG, we record them as logical edges and only materialize them during traversal as successors for a given node. This fixes the slowness/hang in the `saturating-float-casts.rs` test.
Diffstat (limited to 'compiler/rustc_borrowck/src/polonius/mod.rs')
| -rw-r--r-- | compiler/rustc_borrowck/src/polonius/mod.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/rustc_borrowck/src/polonius/mod.rs b/compiler/rustc_borrowck/src/polonius/mod.rs index 52a5f75d8a2..502c868194a 100644 --- a/compiler/rustc_borrowck/src/polonius/mod.rs +++ b/compiler/rustc_borrowck/src/polonius/mod.rs @@ -130,6 +130,7 @@ impl PoloniusContext { tcx, body, regioncx.liveness_constraints(), + regioncx.outlives_constraints(), borrow_set, &localized_outlives_constraints, ); |
