Skip to content

Commit be069a6

Browse files
committed
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.
1 parent 163b01a commit be069a6

File tree

5 files changed

+5
-6
lines changed

5 files changed

+5
-6
lines changed

src/librustdoc/clean/types.rs

-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ thread_local!(crate static MAX_DEF_IDX: RefCell<FxHashMap<CrateNum, DefIndex>> =
5050
#[derive(Clone, Debug)]
5151
crate struct Crate {
5252
crate name: Symbol,
53-
crate version: Option<String>,
5453
crate src: FileName,
5554
crate module: Option<Item>,
5655
crate externs: Vec<(CrateNum, ExternalCrate)>,

src/librustdoc/clean/utils.rs

-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ crate fn krate(cx: &mut DocContext<'_>) -> Crate {
7777

7878
Crate {
7979
name,
80-
version: None,
8180
src,
8281
module: Some(module),
8382
externs,

src/librustdoc/formats/cache.rs

-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,6 @@ impl Cache {
144144
dst: &Path,
145145
) -> clean::Crate {
146146
// Crawl the crate to build various caches used for the output
147-
self.crate_version = krate.version.take();
148147
debug!(?self.crate_version);
149148
self.traits = krate.external_traits.take();
150149
self.masked_crates = mem::take(&mut krate.masked_crates);

src/librustdoc/json/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx> {
199199

200200
fn after_krate(
201201
&mut self,
202-
krate: &clean::Crate,
202+
_krate: &clean::Crate,
203203
_diag: &rustc_errors::Handler,
204204
) -> Result<(), Error> {
205205
debug!("Done with crate");
@@ -210,7 +210,7 @@ impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx> {
210210
#[allow(rustc::default_hash_types)]
211211
let output = types::Crate {
212212
root: types::Id(String::from("0:0")),
213-
crate_version: krate.version.clone(),
213+
crate_version: self.cache.crate_version.clone(),
214214
includes_private: self.cache.document_private,
215215
index: index.into_iter().collect(),
216216
paths: self

src/test/rustdoc-json/nested.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// edition:2018
2+
// compile-flags: --crate-version 1.0.0
23

3-
// @is nested.json "$.index[*][?(@.name=='nested')].kind" \"module\"
4+
// @is nested.json "$.crate_version" \"1.0.0\"
5+
// @is - "$.index[*][?(@.name=='nested')].kind" \"module\"
46
// @is - "$.index[*][?(@.name=='nested')].inner.is_crate" true
57
// @count - "$.index[*][?(@.name=='nested')].inner.items[*]" 1
68

0 commit comments

Comments
 (0)