remove the cell from type flags completely
This commit is contained in:
parent
b46c1a95d0
commit
4464dcc7ce
@ -138,7 +138,7 @@ impl<'gcx: 'tcx, 'tcx> CtxtInterners<'tcx> {
|
|||||||
let flags = super::flags::FlagComputation::for_sty(&st);
|
let flags = super::flags::FlagComputation::for_sty(&st);
|
||||||
let ty_struct = TyS {
|
let ty_struct = TyS {
|
||||||
sty: st,
|
sty: st,
|
||||||
flags: Cell::new(flags.flags),
|
flags: flags.flags,
|
||||||
region_depth: flags.depth,
|
region_depth: flags.depth,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -978,8 +978,8 @@ macro_rules! sty_debug_print {
|
|||||||
ty::TyError => /* unimportant */ continue,
|
ty::TyError => /* unimportant */ continue,
|
||||||
$(ty::$variant(..) => &mut $variant,)*
|
$(ty::$variant(..) => &mut $variant,)*
|
||||||
};
|
};
|
||||||
let region = t.flags.get().intersects(ty::TypeFlags::HAS_RE_INFER);
|
let region = t.flags.intersects(ty::TypeFlags::HAS_RE_INFER);
|
||||||
let ty = t.flags.get().intersects(ty::TypeFlags::HAS_TY_INFER);
|
let ty = t.flags.intersects(ty::TypeFlags::HAS_TY_INFER);
|
||||||
|
|
||||||
variant.total += 1;
|
variant.total += 1;
|
||||||
total.total += 1;
|
total.total += 1;
|
||||||
|
@ -167,7 +167,7 @@ impl FlagComputation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn add_ty(&mut self, ty: Ty) {
|
fn add_ty(&mut self, ty: Ty) {
|
||||||
self.add_flags(ty.flags.get());
|
self.add_flags(ty.flags);
|
||||||
self.add_depth(ty.region_depth);
|
self.add_depth(ty.region_depth);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -625,9 +625,8 @@ struct HasTypeFlagsVisitor {
|
|||||||
|
|
||||||
impl<'tcx> TypeVisitor<'tcx> for HasTypeFlagsVisitor {
|
impl<'tcx> TypeVisitor<'tcx> for HasTypeFlagsVisitor {
|
||||||
fn visit_ty(&mut self, t: Ty) -> bool {
|
fn visit_ty(&mut self, t: Ty) -> bool {
|
||||||
let flags = t.flags.get();
|
debug!("HasTypeFlagsVisitor: t={:?} t.flags={:?} self.flags={:?}", t, t.flags, self.flags);
|
||||||
debug!("HasTypeFlagsVisitor: t={:?} t.flags={:?} self.flags={:?}", t, flags, self.flags);
|
t.flags.intersects(self.flags)
|
||||||
flags.intersects(self.flags)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn visit_region(&mut self, r: ty::Region<'tcx>) -> bool {
|
fn visit_region(&mut self, r: ty::Region<'tcx>) -> bool {
|
||||||
|
@ -35,7 +35,6 @@ use util::common::ErrorReported;
|
|||||||
use util::nodemap::{NodeSet, DefIdMap, FxHashMap, FxHashSet};
|
use util::nodemap::{NodeSet, DefIdMap, FxHashMap, FxHashSet};
|
||||||
|
|
||||||
use serialize::{self, Encodable, Encoder};
|
use serialize::{self, Encodable, Encoder};
|
||||||
use std::cell::Cell;
|
|
||||||
use std::collections::BTreeMap;
|
use std::collections::BTreeMap;
|
||||||
use std::cmp;
|
use std::cmp;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
@ -516,7 +515,7 @@ bitflags! {
|
|||||||
|
|
||||||
pub struct TyS<'tcx> {
|
pub struct TyS<'tcx> {
|
||||||
pub sty: TypeVariants<'tcx>,
|
pub sty: TypeVariants<'tcx>,
|
||||||
pub flags: Cell<TypeFlags>,
|
pub flags: TypeFlags,
|
||||||
|
|
||||||
// the maximal depth of any bound regions appearing in this type.
|
// the maximal depth of any bound regions appearing in this type.
|
||||||
region_depth: u32,
|
region_depth: u32,
|
||||||
|
Loading…
Reference in New Issue
Block a user