diff options
| author | Tyler Mandry <tmandry@gmail.com> | 2019-09-18 10:58:03 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-09-18 10:58:03 -0700 |
| commit | e8ded849ef57a983ff26245f7065dcaf17edc04b (patch) | |
| tree | 00973dbb94f512ec7fe2ef6108db1485fff9105c | |
| parent | dece57302a8e6775b34dd6447eb98552e83bdc9d (diff) | |
| parent | 867ce769b6a27c8f359eb6573f5da8b34677d055 (diff) | |
| download | rust-e8ded849ef57a983ff26245f7065dcaf17edc04b.tar.gz rust-e8ded849ef57a983ff26245f7065dcaf17edc04b.zip | |
Rollup merge of #64207 - sinkuu:pub_dataflow, r=tmandry
Make rustc_mir::dataflow module pub (for clippy) I'm working on fixing false-positives of a MIR-based clippy lint (https://github.com/rust-lang/rust-clippy/pull/4509), and in need of the dataflow infrastructure.
| -rw-r--r-- | src/librustc_mir/dataflow/mod.rs | 18 | ||||
| -rw-r--r-- | src/librustc_mir/lib.rs | 2 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/librustc_mir/dataflow/mod.rs b/src/librustc_mir/dataflow/mod.rs index 7fe2a890a53..c349cf4a47b 100644 --- a/src/librustc_mir/dataflow/mod.rs +++ b/src/librustc_mir/dataflow/mod.rs @@ -56,7 +56,7 @@ where /// string (as well as that of rendering up-front); in exchange, you /// don't have to hand over ownership of your value or deal with /// borrowing it. -pub(crate) struct DebugFormatted(String); +pub struct DebugFormatted(String); impl DebugFormatted { pub fn new(input: &dyn fmt::Debug) -> DebugFormatted { @@ -70,7 +70,7 @@ impl fmt::Debug for DebugFormatted { } } -pub(crate) trait Dataflow<'tcx, BD: BitDenotation<'tcx>> { +pub trait Dataflow<'tcx, BD: BitDenotation<'tcx>> { /// Sets up and runs the dataflow problem, using `p` to render results if /// implementation so chooses. fn dataflow<P>(&mut self, p: P) where P: Fn(&BD, BD::Idx) -> DebugFormatted { @@ -121,7 +121,7 @@ pub struct MoveDataParamEnv<'tcx> { pub(crate) param_env: ty::ParamEnv<'tcx>, } -pub(crate) fn do_dataflow<'a, 'tcx, BD, P>( +pub fn do_dataflow<'a, 'tcx, BD, P>( tcx: TyCtxt<'tcx>, body: &'a Body<'tcx>, def_id: DefId, @@ -565,7 +565,7 @@ pub struct GenKill<T> { pub(crate) kill_set: T, } -type GenKillSet<T> = GenKill<HybridBitSet<T>>; +pub type GenKillSet<T> = GenKill<HybridBitSet<T>>; impl<T> GenKill<T> { /// Creates a new tuple where `gen_set == kill_set == elem`. @@ -580,28 +580,28 @@ impl<T> GenKill<T> { } impl<E:Idx> GenKillSet<E> { - pub(crate) fn clear(&mut self) { + pub fn clear(&mut self) { self.gen_set.clear(); self.kill_set.clear(); } - fn gen(&mut self, e: E) { + pub fn gen(&mut self, e: E) { self.gen_set.insert(e); self.kill_set.remove(e); } - fn gen_all(&mut self, i: impl IntoIterator<Item: Borrow<E>>) { + pub fn gen_all(&mut self, i: impl IntoIterator<Item: Borrow<E>>) { for j in i { self.gen(*j.borrow()); } } - fn kill(&mut self, e: E) { + pub fn kill(&mut self, e: E) { self.gen_set.remove(e); self.kill_set.insert(e); } - fn kill_all(&mut self, i: impl IntoIterator<Item: Borrow<E>>) { + pub fn kill_all(&mut self, i: impl IntoIterator<Item: Borrow<E>>) { for j in i { self.kill(*j.borrow()); } diff --git a/src/librustc_mir/lib.rs b/src/librustc_mir/lib.rs index 034ad5b01d3..6a49ed6ed9f 100644 --- a/src/librustc_mir/lib.rs +++ b/src/librustc_mir/lib.rs @@ -35,7 +35,7 @@ pub mod error_codes; mod borrow_check; mod build; -mod dataflow; +pub mod dataflow; mod hair; mod lints; mod shim; |
