Skip to content

Commit 8067016

Browse files
committed
Apply Lrc later to sess and codegen_backend.
This avoids the need for a degenerate `Lrc::get_mut` call.
1 parent c00937f commit 8067016

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

compiler/rustc_interface/src/interface.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -300,18 +300,14 @@ pub fn run_compiler<R: Send>(config: Config, f: impl FnOnce(&Compiler) -> R + Se
300300
);
301301

302302
if let Some(parse_sess_created) = config.parse_sess_created {
303-
parse_sess_created(
304-
&mut Lrc::get_mut(&mut sess)
305-
.expect("create_session() should never share the returned session")
306-
.parse_sess,
307-
);
303+
parse_sess_created(&mut sess.parse_sess);
308304
}
309305

310306
let temps_dir = sess.opts.unstable_opts.temps_dir.as_ref().map(|o| PathBuf::from(&o));
311307

312308
let compiler = Compiler {
313-
sess,
314-
codegen_backend,
309+
sess: Lrc::new(sess),
310+
codegen_backend: Lrc::new(codegen_backend),
315311
input: config.input,
316312
input_path: config.input_path,
317313
output_dir: config.output_dir,

compiler/rustc_interface/src/util.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ use rustc_codegen_ssa::traits::CodegenBackend;
55
use rustc_data_structures::fx::{FxHashMap, FxHashSet};
66
#[cfg(parallel_compiler)]
77
use rustc_data_structures::jobserver;
8-
use rustc_data_structures::sync::Lrc;
98
use rustc_errors::registry::Registry;
109
#[cfg(parallel_compiler)]
1110
use rustc_middle::ty::tls;
@@ -73,7 +72,7 @@ pub fn create_session(
7372
Box<dyn FnOnce(&config::Options) -> Box<dyn CodegenBackend> + Send>,
7473
>,
7574
descriptions: Registry,
76-
) -> (Lrc<Session>, Lrc<Box<dyn CodegenBackend>>) {
75+
) -> (Session, Box<dyn CodegenBackend>) {
7776
let codegen_backend = if let Some(make_codegen_backend) = make_codegen_backend {
7877
make_codegen_backend(&sopts)
7978
} else {
@@ -121,7 +120,7 @@ pub fn create_session(
121120
sess.parse_sess.config = cfg;
122121
sess.parse_sess.check_config = check_cfg;
123122

124-
(Lrc::new(sess), Lrc::new(codegen_backend))
123+
(sess, codegen_backend)
125124
}
126125

127126
const STACK_SIZE: usize = 8 * 1024 * 1024;

0 commit comments

Comments
 (0)