diff options
| author | Loïc BRANSTETT <loic.branstett@epitech.eu> | 2021-09-26 18:22:07 +0200 |
|---|---|---|
| committer | Loïc BRANSTETT <loic.branstett@epitech.eu> | 2021-09-26 18:22:07 +0200 |
| commit | 88ff75c6ccd44e6eef20157cbedfa15dc0f6a1b2 (patch) | |
| tree | 3897435ec0e720ef2ea32ad7d50b38daac183a5f | |
| parent | f6e6ddc09d660fbfb4d483a9677d80768cc4e31c (diff) | |
| download | rust-88ff75c6ccd44e6eef20157cbedfa15dc0f6a1b2.tar.gz rust-88ff75c6ccd44e6eef20157cbedfa15dc0f6a1b2.zip | |
Fix populate of union.impls
| -rw-r--r-- | src/librustdoc/json/mod.rs | 2 | ||||
| -rw-r--r-- | src/test/rustdoc-json/unions/impl.rs | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/librustdoc/json/mod.rs b/src/librustdoc/json/mod.rs index 5089cc30a1e..915a9fd2b89 100644 --- a/src/librustdoc/json/mod.rs +++ b/src/librustdoc/json/mod.rs @@ -169,6 +169,8 @@ impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx> { s.impls = self.get_impls(id.expect_def_id()) } else if let types::ItemEnum::Enum(ref mut e) = new_item.inner { e.impls = self.get_impls(id.expect_def_id()) + } else if let types::ItemEnum::Union(ref mut u) = new_item.inner { + u.impls = self.get_impls(id.expect_def_id()) } let removed = self.index.borrow_mut().insert(from_item_id(id), new_item.clone()); diff --git a/src/test/rustdoc-json/unions/impl.rs b/src/test/rustdoc-json/unions/impl.rs new file mode 100644 index 00000000000..0388b4a8c3c --- /dev/null +++ b/src/test/rustdoc-json/unions/impl.rs @@ -0,0 +1,15 @@ +#![no_std] + +// @has impl.json "$.index[*][?(@.name=='Ux')].visibility" \"public\" +// @has - "$.index[*][?(@.name=='Ux')].kind" \"union\" +pub union Ux { + a: u32, + b: u64 +} + +// @has - "$.index[*][?(@.name=='Num')].visibility" \"public\" +// @has - "$.index[*][?(@.name=='Num')].kind" \"trait\" +pub trait Num {} + +// @count - "$.index[*][?(@.name=='Ux')].inner.impls" 1 +impl Num for Ux {} |
