Michael Goulet
fc1a9186dc
Implement MIR, CTFE, and codegen for unsafe binders
2025-01-31 17:19:53 +00:00
Michael Goulet
eeecb56b73
Represent the raw pointer for a array length check as a new kind of fake borrow
2025-01-28 00:00:33 +00:00
Rémy Rakic
ca1c17c88d
Revert "Auto merge of #134330 - scottmcm:no-more-rvalue-len, r=matthewjasper"
...
This reverts commit e108481f74 , reversing
changes made to 303e8bd768 .
2025-01-18 22:09:34 +00:00
Rémy Rakic
36ea00c20d
rename AllFacts to PoloniusFacts
...
This is another strangely named struct (and associated fields) that is
hard to see was related to datalog polonius.
2025-01-08 13:23:54 +00:00
Rémy Rakic
3a1a621115
rename LocationTable to PoloniusLocationTable
...
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-08 13:08:25 +00:00
Rémy Rakic
9d444c26c9
remove borrowck duplicate of std::ops::ControlFlow
2025-01-01 12:13:33 +00:00
Rémy Rakic
79d761d93c
remove allow_two_phase_borrow
...
it's been simplified over the years, but now it's no longer useful.
- document its replacement in `BorrowKind`
- use that everywhere instead
2025-01-01 12:13:33 +00:00
Rémy Rakic
4107a3ceb4
move facts module to polonius legacy module
...
this is specific to the old datalog implementation and wasn't noticed in
the previous module move
2024-12-30 06:51:16 +00:00
Rémy Rakic
fbf48c177b
simplify add_extra_drop_facts
...
this is mostly to remove imports of the polonius legacy module
also what is going on in this function, what the...
2024-12-30 06:51:16 +00:00
Rémy Rakic
50c152f347
move location module to polonius legacy module
...
this is specific to the old datalog implementation and wasn't noticed in
the previous module move
2024-12-30 06:51:16 +00:00
Scott McMurray
5ba54c9e31
Delete Rvalue::Len
...
Everything's moved to `PtrMetadata` instead.
2024-12-22 06:12:39 -08:00
Rémy Rakic
8562497d0a
improve consistency within fact gen
...
- fix names
- fix ordering of arguments
2024-12-15 14:44:07 +00:00
Rémy Rakic
2024c5d869
simplify emit_outlives_facts
...
- integrate into `emit_facts` and remove from typeck
2024-12-15 14:44:07 +00:00
Rémy Rakic
1740a5f84a
simplify emit_access_facts and fact generation
...
- 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-15 14:44:07 +00:00
Rémy Rakic
5486857448
use let else more consistently in fact generation
...
also remove a useless trace
2024-12-15 14:44:07 +00:00
Rémy Rakic
afbe101f0e
clean up translate_outlives_facts
...
- remove dependency on `TypeChecker`
- move to legacy fact generation module
- group facts emitted during typeck together
2024-12-15 14:44:07 +00:00
Rémy Rakic
9d8f58adb2
clean up emit_drop_facts
...
- remove dependency on `TypeChecker`
- move to legacy fact generation module
- remove polonius module from liveness
2024-12-15 14:44:07 +00:00
Rémy Rakic
2fd443888e
clean up emit_access_facts
...
- remove dependency on `TypeChecker`
- move to legacy fact generation module
2024-12-15 14:44:07 +00:00
Rémy Rakic
b0e04d5a0c
move datalog fact generation into a legacy module
2024-12-14 17:35:32 +00:00