mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 08:44:35 +00:00
Remove krate.version
; fix crate_version
in JSON
Previously, `JsonRenderer::after_krate` called `krate.version.clone()`. The problem was it did that after the version was already moved into the cache, so it would always be None. The fix was to get the version from the cache instead.
This commit is contained in:
parent
163b01aa14
commit
be069a687a
@ -50,7 +50,6 @@ thread_local!(crate static MAX_DEF_IDX: RefCell<FxHashMap<CrateNum, DefIndex>> =
|
|||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
crate struct Crate {
|
crate struct Crate {
|
||||||
crate name: Symbol,
|
crate name: Symbol,
|
||||||
crate version: Option<String>,
|
|
||||||
crate src: FileName,
|
crate src: FileName,
|
||||||
crate module: Option<Item>,
|
crate module: Option<Item>,
|
||||||
crate externs: Vec<(CrateNum, ExternalCrate)>,
|
crate externs: Vec<(CrateNum, ExternalCrate)>,
|
||||||
|
@ -77,7 +77,6 @@ crate fn krate(cx: &mut DocContext<'_>) -> Crate {
|
|||||||
|
|
||||||
Crate {
|
Crate {
|
||||||
name,
|
name,
|
||||||
version: None,
|
|
||||||
src,
|
src,
|
||||||
module: Some(module),
|
module: Some(module),
|
||||||
externs,
|
externs,
|
||||||
|
@ -144,7 +144,6 @@ impl Cache {
|
|||||||
dst: &Path,
|
dst: &Path,
|
||||||
) -> clean::Crate {
|
) -> clean::Crate {
|
||||||
// Crawl the crate to build various caches used for the output
|
// Crawl the crate to build various caches used for the output
|
||||||
self.crate_version = krate.version.take();
|
|
||||||
debug!(?self.crate_version);
|
debug!(?self.crate_version);
|
||||||
self.traits = krate.external_traits.take();
|
self.traits = krate.external_traits.take();
|
||||||
self.masked_crates = mem::take(&mut krate.masked_crates);
|
self.masked_crates = mem::take(&mut krate.masked_crates);
|
||||||
|
@ -199,7 +199,7 @@ impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx> {
|
|||||||
|
|
||||||
fn after_krate(
|
fn after_krate(
|
||||||
&mut self,
|
&mut self,
|
||||||
krate: &clean::Crate,
|
_krate: &clean::Crate,
|
||||||
_diag: &rustc_errors::Handler,
|
_diag: &rustc_errors::Handler,
|
||||||
) -> Result<(), Error> {
|
) -> Result<(), Error> {
|
||||||
debug!("Done with crate");
|
debug!("Done with crate");
|
||||||
@ -210,7 +210,7 @@ impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx> {
|
|||||||
#[allow(rustc::default_hash_types)]
|
#[allow(rustc::default_hash_types)]
|
||||||
let output = types::Crate {
|
let output = types::Crate {
|
||||||
root: types::Id(String::from("0:0")),
|
root: types::Id(String::from("0:0")),
|
||||||
crate_version: krate.version.clone(),
|
crate_version: self.cache.crate_version.clone(),
|
||||||
includes_private: self.cache.document_private,
|
includes_private: self.cache.document_private,
|
||||||
index: index.into_iter().collect(),
|
index: index.into_iter().collect(),
|
||||||
paths: self
|
paths: self
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
// edition:2018
|
// edition:2018
|
||||||
|
// compile-flags: --crate-version 1.0.0
|
||||||
|
|
||||||
// @is nested.json "$.index[*][?(@.name=='nested')].kind" \"module\"
|
// @is nested.json "$.crate_version" \"1.0.0\"
|
||||||
|
// @is - "$.index[*][?(@.name=='nested')].kind" \"module\"
|
||||||
// @is - "$.index[*][?(@.name=='nested')].inner.is_crate" true
|
// @is - "$.index[*][?(@.name=='nested')].inner.is_crate" true
|
||||||
// @count - "$.index[*][?(@.name=='nested')].inner.items[*]" 1
|
// @count - "$.index[*][?(@.name=='nested')].inner.items[*]" 1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user