about summary refs log tree commit diff
path: root/compiler/rustc_borrowck/src/polonius/legacy
AgeCommit message (Collapse)AuthorLines
2025-09-16Remove Rvalue::Len.Camille Gillot-7/+2
2025-08-09remove some unused private trait implsDeadbeef-16/+0
2025-07-05use `is_multiple_of` instead of manual moduloFolkert de Vries-1/+1
2025-06-04Use an enum for SCC representatives, plus other code reviewAmanda Stjerna-1/+1
Co-authored-by: lcnr <rust@lcnr.de>
2025-06-03Move placeholder handling to a proper preprocessing stepAmanda Stjerna-3/+3
This commit breaks out the logic of placheolder rewriting into its own preprocessing step. The only functional change from this is that the preprocessing step (where extra `r: 'static` constraints are added) is performed upstream of Polonius legacy, finally affecting Polonius. That is mostly a by-product, though.
2025-04-28AsyncDrop implementation using shim codegen of ↵Andrew Zhogin-1/+8
async_drop_in_place::{closure}, scoped async drop added.
2025-01-31Implement MIR, CTFE, and codegen for unsafe bindersMichael Goulet-0/+4
2025-01-28Represent the raw pointer for a array length check as a new kind of fake borrowMichael Goulet-11/+10
2025-01-18Revert "Auto merge of #134330 - scottmcm:no-more-rvalue-len, r=matthewjasper"Rémy Rakic-2/+7
This reverts commit e108481f74ff123ad98a63bd107a18d13035b275, reversing changes made to 303e8bd768526a5812bb1776e798e829ddb7d3ca.
2025-01-08rename `AllFacts` to `PoloniusFacts`Rémy Rakic-21/+21
This is another strangely named struct (and associated fields) that is hard to see was related to datalog polonius.
2025-01-08rename `LocationTable` to `PoloniusLocationTable`Rémy Rakic-32/+32
Its original naming hides the fact that it's related to datalog polonius, and bound to be deleted in the near future. It also conflicts with the expected name for the actual NLL location map, and prefixing it with its use will make the differentiation possible.
2025-01-01remove borrowck duplicate of `std::ops::ControlFlow`Rémy Rakic-2/+4
2025-01-01remove `allow_two_phase_borrow`Rémy Rakic-2/+2
it's been simplified over the years, but now it's no longer useful. - document its replacement in `BorrowKind` - use that everywhere instead
2024-12-30move `facts` module to polonius legacy moduleRémy Rakic-7/+258
this is specific to the old datalog implementation and wasn't noticed in the previous module move
2024-12-30simplify `add_extra_drop_facts`Rémy Rakic-1/+8
this is mostly to remove imports of the polonius legacy module also what is going on in this function, what the...
2024-12-30move `location` module to polonius legacy moduleRémy Rakic-4/+112
this is specific to the old datalog implementation and wasn't noticed in the previous module move
2024-12-22Delete `Rvalue::Len`Scott McMurray-7/+2
Everything's moved to `PtrMetadata` instead.
2024-12-15improve consistency within fact genRémy Rakic-46/+44
- fix names - fix ordering of arguments
2024-12-15simplify `emit_outlives_facts`Rémy Rakic-6/+5
- integrate into `emit_facts` and remove from typeck
2024-12-15simplify `emit_access_facts` and fact generationRémy Rakic-50/+21
- integrate it within existing fact generation instead of being called in typeck - simplify access fact extraction - also remove single use fact emit functions in root fact generation
2024-12-15use let else more consistently in fact generationRémy Rakic-49/+43
also remove a useless trace
2024-12-15clean up `translate_outlives_facts`Rémy Rakic-0/+33
- remove dependency on `TypeChecker` - move to legacy fact generation module - group facts emitted during typeck together
2024-12-15clean up `emit_drop_facts`Rémy Rakic-2/+22
- remove dependency on `TypeChecker` - move to legacy fact generation module - remove polonius module from liveness
2024-12-15clean up `emit_access_facts`Rémy Rakic-0/+109
- remove dependency on `TypeChecker` - move to legacy fact generation module
2024-12-14move datalog fact generation into a legacy moduleRémy Rakic-0/+773