Skip to content

Commit ec409f9

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

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
@@ -298,18 +298,14 @@ pub fn run_compiler<R: Send>(config: Config, f: impl FnOnce(&Compiler) -> R + Se
298298
);
299299

300300
if let Some(parse_sess_created) = config.parse_sess_created {
301-
parse_sess_created(
302-
&mut Lrc::get_mut(&mut sess)
303-
.expect("create_session() should never share the returned session")
304-
.parse_sess,
305-
);
301+
parse_sess_created(&mut sess.parse_sess);
306302
}
307303

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

310306
let compiler = Compiler {
311-
sess,
312-
codegen_backend,
307+
sess: Lrc::new(sess),
308+
codegen_backend: Lrc::new(codegen_backend),
313309
input: config.input,
314310
input_path: config.input_path,
315311
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;
@@ -72,7 +71,7 @@ pub fn create_session(
7271
Box<dyn FnOnce(&config::Options) -> Box<dyn CodegenBackend> + Send>,
7372
>,
7473
descriptions: Registry,
75-
) -> (Lrc<Session>, Lrc<Box<dyn CodegenBackend>>) {
74+
) -> (Session, Box<dyn CodegenBackend>) {
7675
let codegen_backend = if let Some(make_codegen_backend) = make_codegen_backend {
7776
make_codegen_backend(&sopts)
7877
} else {
@@ -119,7 +118,7 @@ pub fn create_session(
119118
sess.parse_sess.config = cfg;
120119
sess.parse_sess.check_config = check_cfg;
121120

122-
(Lrc::new(sess), Lrc::new(codegen_backend))
121+
(sess, codegen_backend)
123122
}
124123

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

0 commit comments

Comments
 (0)