Skip to content

Commit 4b5f0ba

Browse files
committed
generic shuffle continues
1 parent d25231f commit 4b5f0ba

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/librustc_mir/borrow_check/nll/type_check/liveness.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ use super::TypeChecker;
3434
///
3535
/// NB. This computation requires normalization; therefore, it must be
3636
/// performed before
37-
pub(super) fn generate<'gcx, 'tcx, V: LiveVariableMap>(
37+
pub(super) fn generate<'gcx, 'tcx>(
3838
cx: &mut TypeChecker<'_, 'gcx, 'tcx>,
3939
mir: &Mir<'tcx>,
40-
liveness: &LivenessResults<V>,
40+
liveness: &LivenessResults<Local>,
4141
flow_inits: &mut FlowAtLocation<MaybeInitializedPlaces<'_, 'gcx, 'tcx>>,
4242
move_data: &MoveData<'tcx>,
4343
) {
@@ -55,7 +55,7 @@ pub(super) fn generate<'gcx, 'tcx, V: LiveVariableMap>(
5555
}
5656
}
5757

58-
struct TypeLivenessGenerator<'gen, 'typeck, 'flow, 'gcx, 'tcx, V: LiveVariableMap>
58+
struct TypeLivenessGenerator<'gen, 'typeck, 'flow, 'gcx, 'tcx>
5959
where
6060
'typeck: 'gen,
6161
'flow: 'gen,
@@ -65,7 +65,7 @@ where
6565
{
6666
cx: &'gen mut TypeChecker<'typeck, 'gcx, 'tcx>,
6767
mir: &'gen Mir<'tcx>,
68-
liveness: &'gen LivenessResults<V>,
68+
liveness: &'gen LivenessResults<Local>,
6969
flow_inits: &'gen mut FlowAtLocation<MaybeInitializedPlaces<'flow, 'gcx, 'tcx>>,
7070
move_data: &'gen MoveData<'tcx>,
7171
drop_data: FxHashMap<Ty<'tcx>, DropData<'tcx>>,

src/librustc_mir/util/liveness.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,18 +103,18 @@ pub struct LivenessMode {
103103
}
104104

105105
/// A combination of liveness results, used in NLL.
106-
pub struct LivenessResults<V: LiveVariableMap> {
106+
pub struct LivenessResults<V> {
107107
/// Liveness results where a regular use makes a variable X live,
108108
/// but not a drop.
109-
pub regular: LivenessResult<V::LiveVar>,
109+
pub regular: LivenessResult<V>,
110110

111111
/// Liveness results where a drop makes a variable X live,
112112
/// but not a regular use.
113-
pub drop: LivenessResult<V::LiveVar>,
113+
pub drop: LivenessResult<V>,
114114
}
115115

116-
impl<V: LiveVariableMap> LivenessResults<V> {
117-
pub fn compute<'tcx>(mir: &Mir<'tcx>, map: &dyn LiveVariableMap<LiveVar = V>) -> LivenessResults<V::LiveVar> {
116+
impl<V, M: LiveVariableMap<LiveVar = V>> LivenessResults<V> {
117+
pub fn compute<'tcx>(mir: &Mir<'tcx>, map: &M) -> LivenessResults<V> {
118118
LivenessResults {
119119
regular: liveness_of_locals(
120120
&mir,
@@ -138,7 +138,7 @@ impl<V: LiveVariableMap> LivenessResults<V> {
138138
/// Compute which local variables are live within the given function
139139
/// `mir`. The liveness mode `mode` determines what sorts of uses are
140140
/// considered to make a variable live (e.g., do drops count?).
141-
pub fn liveness_of_locals<'tcx, V: LiveVariableMap>(mir: &Mir<'tcx>, mode: LivenessMode) -> LivenessResult<V::LiveVar> {
141+
pub fn liveness_of_locals<'tcx, V>(mir: &Mir<'tcx>, mode: LivenessMode) -> LivenessResult<V> {
142142
let locals = mir.local_decls.len();
143143
let def_use: IndexVec<_, _> = mir.basic_blocks()
144144
.iter()

0 commit comments

Comments
 (0)