Don't call self.parse()
in Compiler::crate_name()
unless necessary.
This commit is contained in:
parent
dfd43f0fdd
commit
d61605cef8
@ -126,17 +126,18 @@ impl Compiler {
|
||||
|
||||
pub fn crate_name(&self) -> Result<&Query<String>> {
|
||||
self.queries.crate_name.compute(|| {
|
||||
let parse_result = self.parse()?;
|
||||
let krate = parse_result.peek();
|
||||
let result = match self.crate_name {
|
||||
Ok(match self.crate_name {
|
||||
Some(ref crate_name) => crate_name.clone(),
|
||||
None => rustc_codegen_utils::link::find_crate_name(
|
||||
Some(self.session()),
|
||||
&krate.attrs,
|
||||
&self.input
|
||||
),
|
||||
};
|
||||
Ok(result)
|
||||
None => {
|
||||
let parse_result = self.parse()?;
|
||||
let krate = parse_result.peek();
|
||||
rustc_codegen_utils::link::find_crate_name(
|
||||
Some(self.session()),
|
||||
&krate.attrs,
|
||||
&self.input
|
||||
)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user