summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDániel Buga <bugadani@gmail.com>2020-10-20 11:05:00 +0200
committerDániel Buga <bugadani@gmail.com>2020-10-20 11:05:00 +0200
commit9b453d695481f8898bf29eef25f3027c769e1a99 (patch)
tree39b8efe1fe0e6793485b0129d93bc27b7c7c1447
parentd07ce65d56d527273a2a80862c8a69d0dbc88906 (diff)
downloadrust-9b453d695481f8898bf29eef25f3027c769e1a99.tar.gz
Use DroplessArena for variance inference
-rw-r--r--compiler/rustc_typeck/src/variance/mod.rs6
-rw-r--r--compiler/rustc_typeck/src/variance/terms.rs6
2 files changed, 6 insertions, 6 deletions
diff --git a/compiler/rustc_typeck/src/variance/mod.rs b/compiler/rustc_typeck/src/variance/mod.rs
index a893f69c48a..1565efbb022 100644
--- a/compiler/rustc_typeck/src/variance/mod.rs
+++ b/compiler/rustc_typeck/src/variance/mod.rs
@@ -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)
}
diff --git a/compiler/rustc_typeck/src/variance/terms.rs b/compiler/rustc_typeck/src/variance/terms.rs
index f61a783de69..81c858c53cb 100644
--- a/compiler/rustc_typeck/src/variance/terms.rs
+++ b/compiler/rustc_typeck/src/variance/terms.rs
@@ -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,