Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 4107a3c

Browse files
committed
move facts module to polonius legacy module
this is specific to the old datalog implementation and wasn't noticed in the previous module move
1 parent fbf48c1 commit 4107a3c

File tree

10 files changed

+17
-22
lines changed

10 files changed

+17
-22
lines changed

compiler/rustc_borrowck/src/consumers.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@ use rustc_middle::ty::TyCtxt;
88
pub use super::borrow_set::{BorrowData, BorrowSet, TwoPhaseActivation};
99
pub use super::constraints::OutlivesConstraint;
1010
pub use super::dataflow::{BorrowIndex, Borrows, calculate_borrows_out_of_scope_at_location};
11-
pub use super::facts::{AllFacts as PoloniusInput, PoloniusRegionVid, RustcFacts};
12-
pub use super::nll::PoloniusOutput;
1311
pub use super::place_ext::PlaceExt;
1412
pub use super::places_conflict::{PlaceConflictBias, places_conflict};
15-
pub use super::polonius::legacy::{LocationTable, RichLocation};
13+
pub use super::polonius::legacy::{
14+
AllFacts as PoloniusInput, LocationTable, PoloniusOutput, PoloniusRegionVid, RichLocation,
15+
RustcFacts,
16+
};
1617
pub use super::region_infer::RegionInferenceContext;
1718

1819
/// Options determining the output behavior of [`get_body_with_borrowck_facts`].

compiler/rustc_borrowck/src/lib.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,10 @@ use crate::borrow_set::{BorrowData, BorrowSet};
5353
use crate::consumers::{BodyWithBorrowckFacts, ConsumerOptions};
5454
use crate::dataflow::{BorrowIndex, Borrowck, BorrowckDomain, Borrows};
5555
use crate::diagnostics::{AccessKind, IllegalMoveOriginKind, MoveError, RegionName};
56-
use crate::nll::PoloniusOutput;
5756
use crate::path_utils::*;
5857
use crate::place_ext::PlaceExt;
5958
use crate::places_conflict::{PlaceConflictBias, places_conflict};
60-
use crate::polonius::legacy::LocationTable;
59+
use crate::polonius::legacy::{LocationTable, PoloniusOutput};
6160
use crate::prefixes::PrefixSet;
6261
use crate::region_infer::RegionInferenceContext;
6362
use crate::renumber::RegionCtxt;
@@ -69,7 +68,6 @@ mod constraints;
6968
mod dataflow;
7069
mod def_use;
7170
mod diagnostics;
72-
mod facts;
7371
mod member_constraints;
7472
mod nll;
7573
mod path_utils;

compiler/rustc_borrowck/src/nll.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,13 @@ use tracing::{debug, instrument};
2727
use crate::borrow_set::BorrowSet;
2828
use crate::consumers::ConsumerOptions;
2929
use crate::diagnostics::RegionErrors;
30-
use crate::facts::{AllFacts, AllFactsExt, RustcFacts};
3130
use crate::polonius::LocalizedOutlivesConstraintSet;
32-
use crate::polonius::legacy::LocationTable;
31+
use crate::polonius::legacy::{AllFacts, AllFactsExt, LocationTable, PoloniusOutput};
3332
use crate::region_infer::RegionInferenceContext;
3433
use crate::type_check::{self, MirTypeckResults};
3534
use crate::universal_regions::UniversalRegions;
3635
use crate::{BorrowckInferCtxt, polonius, renumber};
3736

38-
pub type PoloniusOutput = Output<RustcFacts>;
39-
4037
/// The output of `nll::compute_regions`. This includes the computed `RegionInferenceContext`, any
4138
/// closure requirements to propagate, and any generated errors.
4239
pub(crate) struct NllOutput<'tcx> {

compiler/rustc_borrowck/src/polonius/legacy/accesses.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ use rustc_middle::ty::TyCtxt;
44
use rustc_mir_dataflow::move_paths::{LookupResult, MoveData};
55
use tracing::debug;
66

7-
use super::{LocationIndex, LocationTable};
7+
use super::{AllFacts, LocationIndex, LocationTable};
88
use crate::def_use::{self, DefUse};
9-
use crate::facts::AllFacts;
109
use crate::universal_regions::UniversalRegions;
1110

1211
/// Emit polonius facts for variable defs, uses, drops, and path accesses.

compiler/rustc_borrowck/src/facts.rs renamed to compiler/rustc_borrowck/src/polonius/legacy/facts.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,20 @@ use std::fs::{self, File};
44
use std::io::Write;
55
use std::path::Path;
66

7-
use polonius_engine::{AllFacts as PoloniusFacts, Atom};
7+
use polonius_engine::{AllFacts as PoloniusFacts, Atom, Output};
88
use rustc_macros::extension;
99
use rustc_middle::mir::Local;
1010
use rustc_middle::ty::{RegionVid, TyCtxt};
1111
use rustc_mir_dataflow::move_paths::MovePathIndex;
1212

13+
use super::{LocationIndex, LocationTable};
1314
use crate::BorrowIndex;
14-
use crate::polonius::legacy::{LocationIndex, LocationTable};
1515

1616
#[derive(Copy, Clone, Debug)]
1717
pub struct RustcFacts;
1818

19+
pub type PoloniusOutput = Output<RustcFacts>;
20+
1921
rustc_index::newtype_index! {
2022
/// A (kinda) newtype of `RegionVid` so we can implement `Atom` on it.
2123
#[orderable]

compiler/rustc_borrowck/src/polonius/legacy/loan_invalidations.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@ use rustc_middle::mir::{
99
use rustc_middle::ty::TyCtxt;
1010
use tracing::debug;
1111

12-
use super::LocationTable;
12+
use super::{AllFacts, LocationTable};
1313
use crate::borrow_set::BorrowSet;
14-
use crate::facts::AllFacts;
1514
use crate::path_utils::*;
1615
use crate::{
1716
AccessDepth, Activation, ArtificialField, BorrowIndex, Deep, LocalMutationIsAllowed, Read,

compiler/rustc_borrowck/src/polonius/legacy/loan_kills.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ use rustc_middle::mir::{
66
use rustc_middle::ty::TyCtxt;
77
use tracing::debug;
88

9-
use super::LocationTable;
9+
use super::{AllFacts, LocationTable};
1010
use crate::borrow_set::BorrowSet;
11-
use crate::facts::AllFacts;
1211
use crate::places_conflict;
1312

1413
/// Emit `loan_killed_at` and `cfg_edge` facts at the same time.

compiler/rustc_borrowck/src/polonius/legacy/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ use tracing::debug;
1313

1414
use crate::borrow_set::BorrowSet;
1515
use crate::constraints::OutlivesConstraint;
16-
use crate::facts::{AllFacts, PoloniusRegionVid};
1716
use crate::type_check::MirTypeckRegionConstraints;
1817
use crate::type_check::free_region_relations::UniversalRegionRelations;
1918
use crate::universal_regions::UniversalRegions;
@@ -23,6 +22,8 @@ mod loan_invalidations;
2322
mod loan_kills;
2423
mod location;
2524
pub use self::location::*;
25+
mod facts;
26+
pub use self::facts::*;
2627

2728
/// When requested, emit most of the facts needed by polonius:
2829
/// - moves and assignments

compiler/rustc_borrowck/src/region_infer/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ use crate::constraints::{ConstraintSccIndex, OutlivesConstraint, OutlivesConstra
3030
use crate::dataflow::BorrowIndex;
3131
use crate::diagnostics::{RegionErrorKind, RegionErrors, UniverseInfo};
3232
use crate::member_constraints::{MemberConstraintSet, NllMemberConstraintIndex};
33-
use crate::nll::PoloniusOutput;
33+
use crate::polonius::legacy::PoloniusOutput;
3434
use crate::region_infer::reverse_sccs::ReverseSccGraph;
3535
use crate::region_infer::values::{LivenessValues, RegionElement, RegionValues, ToElementIndex};
3636
use crate::type_check::free_region_relations::UniversalRegionRelations;

compiler/rustc_borrowck/src/type_check/mod.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,9 @@ use tracing::{debug, instrument, trace};
4747
use crate::borrow_set::BorrowSet;
4848
use crate::constraints::{OutlivesConstraint, OutlivesConstraintSet};
4949
use crate::diagnostics::UniverseInfo;
50-
use crate::facts::AllFacts;
5150
use crate::member_constraints::MemberConstraintSet;
5251
use crate::polonius::PoloniusContext;
53-
use crate::polonius::legacy::LocationTable;
52+
use crate::polonius::legacy::{AllFacts, LocationTable};
5453
use crate::region_infer::TypeTest;
5554
use crate::region_infer::values::{LivenessValues, PlaceholderIndex, PlaceholderIndices};
5655
use crate::renumber::RegionCtxt;

0 commit comments

Comments
 (0)