Skip to content

Commit d61605c

Browse files
committed
Don't call self.parse() in Compiler::crate_name() unless necessary.
1 parent dfd43f0 commit d61605c

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

src/librustc_interface/queries.rs

+11-10
Original file line numberDiff line numberDiff line change
@@ -126,17 +126,18 @@ impl Compiler {
126126

127127
pub fn crate_name(&self) -> Result<&Query<String>> {
128128
self.queries.crate_name.compute(|| {
129-
let parse_result = self.parse()?;
130-
let krate = parse_result.peek();
131-
let result = match self.crate_name {
129+
Ok(match self.crate_name {
132130
Some(ref crate_name) => crate_name.clone(),
133-
None => rustc_codegen_utils::link::find_crate_name(
134-
Some(self.session()),
135-
&krate.attrs,
136-
&self.input
137-
),
138-
};
139-
Ok(result)
131+
None => {
132+
let parse_result = self.parse()?;
133+
let krate = parse_result.peek();
134+
rustc_codegen_utils::link::find_crate_name(
135+
Some(self.session()),
136+
&krate.attrs,
137+
&self.input
138+
)
139+
}
140+
})
140141
})
141142
}
142143

0 commit comments

Comments
 (0)