1
Fork 0

Add warn(unreachable_pub) to rustc_mir_dataflow.

This commit is contained in:
Nicholas Nethercote 2024-08-29 10:25:30 +10:00
parent c16e2899dc
commit 8a8dd3f33e
4 changed files with 8 additions and 7 deletions

View file

@ -24,7 +24,7 @@ use crate::errors::{
}; };
use crate::framework::BitSetExt; use crate::framework::BitSetExt;
pub type EntrySets<'tcx, A> = IndexVec<BasicBlock, <A as AnalysisDomain<'tcx>>::Domain>; type EntrySets<'tcx, A> = IndexVec<BasicBlock, <A as AnalysisDomain<'tcx>>::Domain>;
/// A dataflow analysis that has converged to fixpoint. /// A dataflow analysis that has converged to fixpoint.
#[derive(Clone)] #[derive(Clone)]

View file

@ -510,7 +510,7 @@ impl<T: Idx> GenKill<T> for lattice::Dual<BitSet<T>> {
// NOTE: DO NOT CHANGE VARIANT ORDER. The derived `Ord` impls rely on the current order. // NOTE: DO NOT CHANGE VARIANT ORDER. The derived `Ord` impls rely on the current order.
#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
pub enum Effect { enum Effect {
/// The "before" effect (e.g., `apply_before_statement_effect`) for a statement (or /// The "before" effect (e.g., `apply_before_statement_effect`) for a statement (or
/// terminator). /// terminator).
Before, Before,
@ -520,7 +520,7 @@ pub enum Effect {
} }
impl Effect { impl Effect {
pub const fn at_index(self, statement_index: usize) -> EffectIndex { const fn at_index(self, statement_index: usize) -> EffectIndex {
EffectIndex { effect: self, statement_index } EffectIndex { effect: self, statement_index }
} }
} }

View file

@ -5,6 +5,7 @@
#![feature(exact_size_is_empty)] #![feature(exact_size_is_empty)]
#![feature(let_chains)] #![feature(let_chains)]
#![feature(try_blocks)] #![feature(try_blocks)]
#![warn(unreachable_pub)]
// tidy-alphabetical-end // tidy-alphabetical-end
use rustc_middle::ty; use rustc_middle::ty;

View file

@ -15,12 +15,12 @@ use rustc_middle::mir::{Local, Operand, PlaceElem, ProjectionElem};
use rustc_middle::ty::Ty; use rustc_middle::ty::Ty;
#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)] #[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)]
pub struct AbstractOperand; pub(crate) struct AbstractOperand;
#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)] #[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)]
pub struct AbstractType; pub(crate) struct AbstractType;
pub type AbstractElem = ProjectionElem<AbstractOperand, AbstractType>; pub(crate) type AbstractElem = ProjectionElem<AbstractOperand, AbstractType>;
pub trait Lift { pub(crate) trait Lift {
type Abstract; type Abstract;
fn lift(&self) -> Self::Abstract; fn lift(&self) -> Self::Abstract;
} }