Use DroplessArena for variance inference
This commit is contained in:
parent
d07ce65d56
commit
9b453d6954
@ -4,7 +4,7 @@
|
||||
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/variance.html
|
||||
|
||||
use hir::Node;
|
||||
use rustc_arena::TypedArena;
|
||||
use rustc_arena::DroplessArena;
|
||||
use rustc_hir as hir;
|
||||
use rustc_hir::def_id::{CrateNum, DefId, LOCAL_CRATE};
|
||||
use rustc_middle::ty::query::Providers;
|
||||
@ -32,8 +32,8 @@ pub fn provide(providers: &mut Providers) {
|
||||
|
||||
fn crate_variances(tcx: TyCtxt<'_>, crate_num: CrateNum) -> CrateVariancesMap<'_> {
|
||||
assert_eq!(crate_num, LOCAL_CRATE);
|
||||
let mut arena = TypedArena::default();
|
||||
let terms_cx = terms::determine_parameters_to_be_inferred(tcx, &mut arena);
|
||||
let arena = DroplessArena::default();
|
||||
let terms_cx = terms::determine_parameters_to_be_inferred(tcx, &arena);
|
||||
let constraints_cx = constraints::add_constraints_from_crate(terms_cx);
|
||||
solve::solve_constraints(constraints_cx)
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
// `InferredIndex` is a newtype'd int representing the index of such
|
||||
// a variable.
|
||||
|
||||
use rustc_arena::TypedArena;
|
||||
use rustc_arena::DroplessArena;
|
||||
use rustc_hir as hir;
|
||||
use rustc_hir::itemlikevisit::ItemLikeVisitor;
|
||||
use rustc_hir::HirIdMap;
|
||||
@ -47,7 +47,7 @@ impl<'a> fmt::Debug for VarianceTerm<'a> {
|
||||
|
||||
pub struct TermsContext<'a, 'tcx> {
|
||||
pub tcx: TyCtxt<'tcx>,
|
||||
pub arena: &'a TypedArena<VarianceTerm<'a>>,
|
||||
pub arena: &'a DroplessArena,
|
||||
|
||||
// For marker types, UnsafeCell, and other lang items where
|
||||
// variance is hardcoded, records the item-id and the hardcoded
|
||||
@ -64,7 +64,7 @@ pub struct TermsContext<'a, 'tcx> {
|
||||
|
||||
pub fn determine_parameters_to_be_inferred<'a, 'tcx>(
|
||||
tcx: TyCtxt<'tcx>,
|
||||
arena: &'a mut TypedArena<VarianceTerm<'a>>,
|
||||
arena: &'a DroplessArena,
|
||||
) -> TermsContext<'a, 'tcx> {
|
||||
let mut terms_cx = TermsContext {
|
||||
tcx,
|
||||
|
Loading…
Reference in New Issue
Block a user