Skip to content

Commit 4dfe69a

Browse files
authoredFeb 22, 2021
Rollup merge of #82353 - camelid:no-more-param_env-cell, r=jyn514
rustdoc: Remove unnecessary `Cell` around `param_env` r? `@jyn514`
2 parents 1dba8ce + 6a85719 commit 4dfe69a

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed
 

‎src/librustdoc/clean/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1519,7 +1519,7 @@ fn normalize(cx: &mut DocContext<'tcx>, ty: Ty<'_>) -> Option<Ty<'tcx>> {
15191519
let lifted = ty.lift_to_tcx(cx.tcx).unwrap();
15201520
let normalized = cx.tcx.infer_ctxt().enter(|infcx| {
15211521
infcx
1522-
.at(&ObligationCause::dummy(), cx.param_env.get())
1522+
.at(&ObligationCause::dummy(), cx.param_env)
15231523
.normalize(lifted)
15241524
.map(|resolved| infcx.resolve_vars_if_possible(resolved.value))
15251525
});

‎src/librustdoc/core.rs

+5-8
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,7 @@ use rustc_span::DUMMY_SP;
2626

2727
use std::mem;
2828
use std::rc::Rc;
29-
use std::{
30-
cell::{Cell, RefCell},
31-
collections::hash_map::Entry,
32-
};
29+
use std::{cell::RefCell, collections::hash_map::Entry};
3330

3431
use crate::clean;
3532
use crate::clean::inline::build_external_trait;
@@ -49,7 +46,7 @@ crate struct DocContext<'tcx> {
4946
/// Used for normalization.
5047
///
5148
/// Most of this logic is copied from rustc_lint::late.
52-
crate param_env: Cell<ParamEnv<'tcx>>,
49+
crate param_env: ParamEnv<'tcx>,
5350
/// Later on moved into `cache`
5451
crate renderinfo: RefCell<RenderInfo>,
5552
/// Later on moved through `clean::Crate` into `cache`
@@ -89,9 +86,9 @@ impl<'tcx> DocContext<'tcx> {
8986
}
9087

9188
crate fn with_param_env<T, F: FnOnce(&mut Self) -> T>(&mut self, def_id: DefId, f: F) -> T {
92-
let old_param_env = self.param_env.replace(self.tcx.param_env(def_id));
89+
let old_param_env = mem::replace(&mut self.param_env, self.tcx.param_env(def_id));
9390
let ret = f(self);
94-
self.param_env.set(old_param_env);
91+
self.param_env = old_param_env;
9592
ret
9693
}
9794

@@ -511,7 +508,7 @@ crate fn run_global_ctxt(
511508
let mut ctxt = DocContext {
512509
tcx,
513510
resolver,
514-
param_env: Cell::new(ParamEnv::empty()),
511+
param_env: ParamEnv::empty(),
515512
external_traits: Default::default(),
516513
active_extern_traits: Default::default(),
517514
renderinfo: RefCell::new(renderinfo),

0 commit comments

Comments
 (0)
Please sign in to comment.