mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 15:23:46 +00:00
Remove field from ErrorValue
This commit is contained in:
parent
9cc7bd7692
commit
d33fa135fe
@ -48,7 +48,7 @@ pub fn resolve<'tcx>(
|
||||
|
||||
values.values.iter_mut().for_each(|v| match *v {
|
||||
VarValue::Value(ref mut r) => *r = re_erased,
|
||||
VarValue::ErrorValue(_) => {}
|
||||
VarValue::ErrorValue => {}
|
||||
});
|
||||
(values, errors)
|
||||
}
|
||||
@ -69,7 +69,7 @@ pub struct LexicalRegionResolutions<'tcx> {
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
enum VarValue<'tcx> {
|
||||
Value(Region<'tcx>),
|
||||
ErrorValue(RegionVid),
|
||||
ErrorValue,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
@ -233,7 +233,7 @@ impl<'cx, 'tcx> LexicalResolver<'cx, 'tcx> {
|
||||
(None, a_region, b_vid, b_data)
|
||||
}
|
||||
Constraint::VarSubVar(a_vid, b_vid) => match *var_values.value(a_vid) {
|
||||
VarValue::ErrorValue(_) => continue,
|
||||
VarValue::ErrorValue => continue,
|
||||
VarValue::Value(a_region) => {
|
||||
let b_data = var_values.value_mut(b_vid);
|
||||
(Some(a_vid), a_region, b_vid, b_data)
|
||||
@ -250,7 +250,7 @@ impl<'cx, 'tcx> LexicalResolver<'cx, 'tcx> {
|
||||
}
|
||||
if let Some(a_vid) = a_vid {
|
||||
match *b_data {
|
||||
VarValue::Value(ReStatic) | VarValue::ErrorValue(_) => (),
|
||||
VarValue::Value(ReStatic) | VarValue::ErrorValue => (),
|
||||
_ => {
|
||||
constraints[a_vid].push((a_vid, b_vid));
|
||||
constraints[b_vid].push((a_vid, b_vid));
|
||||
@ -262,14 +262,14 @@ impl<'cx, 'tcx> LexicalResolver<'cx, 'tcx> {
|
||||
while let Some(vid) = changes.pop() {
|
||||
constraints[vid].retain(|&(a_vid, b_vid)| {
|
||||
let a_region = match *var_values.value(a_vid) {
|
||||
VarValue::ErrorValue(_) => return false,
|
||||
VarValue::ErrorValue => return false,
|
||||
VarValue::Value(a_region) => a_region,
|
||||
};
|
||||
let b_data = var_values.value_mut(b_vid);
|
||||
if self.expand_node(a_region, b_vid, b_data) {
|
||||
changes.push(b_vid);
|
||||
}
|
||||
!matches!(b_data, VarValue::Value(ReStatic) | VarValue::ErrorValue(_))
|
||||
!matches!(b_data, VarValue::Value(ReStatic) | VarValue::ErrorValue)
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -332,7 +332,7 @@ impl<'cx, 'tcx> LexicalResolver<'cx, 'tcx> {
|
||||
true
|
||||
}
|
||||
|
||||
VarValue::ErrorValue(_) => false,
|
||||
VarValue::ErrorValue => false,
|
||||
}
|
||||
}
|
||||
|
||||
@ -476,7 +476,7 @@ impl<'cx, 'tcx> LexicalResolver<'cx, 'tcx> {
|
||||
debug!("contraction: {:?} == {:?}, {:?}", a_vid, a_data, b_region);
|
||||
|
||||
let a_region = match *a_data {
|
||||
VarValue::ErrorValue(_) => continue,
|
||||
VarValue::ErrorValue => continue,
|
||||
VarValue::Value(a_region) => a_region,
|
||||
};
|
||||
|
||||
@ -489,7 +489,7 @@ impl<'cx, 'tcx> LexicalResolver<'cx, 'tcx> {
|
||||
cannot verify that {:?}={:?} <= {:?}",
|
||||
origin, a_vid, a_region, b_region
|
||||
);
|
||||
*a_data = VarValue::ErrorValue(a_vid);
|
||||
*a_data = VarValue::ErrorValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -545,7 +545,7 @@ impl<'cx, 'tcx> LexicalResolver<'cx, 'tcx> {
|
||||
for (node_vid, value) in var_data.values.iter_enumerated() {
|
||||
match *value {
|
||||
VarValue::Value(_) => { /* Inference successful */ }
|
||||
VarValue::ErrorValue(reg) => {
|
||||
VarValue::ErrorValue => {
|
||||
// Inference impossible: this value contains
|
||||
// inconsistent constraints.
|
||||
//
|
||||
@ -581,7 +581,7 @@ impl<'cx, 'tcx> LexicalResolver<'cx, 'tcx> {
|
||||
(
|
||||
Constraint::VarSubVar(_, sup),
|
||||
SubregionOrigin::DataBorrowed(_, sp),
|
||||
) if sup == ® => Some(*sp),
|
||||
) if sup == &node_vid => Some(*sp),
|
||||
_ => None,
|
||||
})
|
||||
.collect();
|
||||
@ -900,7 +900,7 @@ impl<'tcx> LexicalRegionResolutions<'tcx> {
|
||||
pub fn resolve_var(&self, rid: RegionVid) -> ty::Region<'tcx> {
|
||||
let result = match self.values[rid] {
|
||||
VarValue::Value(r) => r,
|
||||
VarValue::ErrorValue(_) => self.error_region,
|
||||
VarValue::ErrorValue => self.error_region,
|
||||
};
|
||||
debug!("resolve_var({:?}) = {:?}", rid, result);
|
||||
result
|
||||
|
Loading…
Reference in New Issue
Block a user