diff --git a/src/rustdoc-json-types/lib.rs b/src/rustdoc-json-types/lib.rs index be1ff286efd..fb183042670 100644 --- a/src/rustdoc-json-types/lib.rs +++ b/src/rustdoc-json-types/lib.rs @@ -542,7 +542,7 @@ pub enum Term { #[serde(rename_all = "snake_case")] #[serde(tag = "kind", content = "inner")] pub enum Type { - /// Structs and enums + /// Structs, enums, and unions ResolvedPath(Path), DynTrait(DynTrait), /// Parameterized types diff --git a/src/test/rustdoc-json/unions/union.rs b/src/test/rustdoc-json/unions/union.rs index 5467f68477f..c9df2b81c4b 100644 --- a/src/test/rustdoc-json/unions/union.rs +++ b/src/test/rustdoc-json/unions/union.rs @@ -1,7 +1,15 @@ // @has "$.index[*][?(@.name=='Union')].visibility" \"public\" // @has "$.index[*][?(@.name=='Union')].kind" \"union\" // @!has "$.index[*][?(@.name=='Union')].inner.struct_type" +// @set Union = "$.index[*][?(@.name=='Union')].id" pub union Union { int: i32, float: f32, } + + +// @is "$.index[*][?(@.name=='make_int_union')].inner.decl.output.kind" '"resolved_path"' +// @is "$.index[*][?(@.name=='make_int_union')].inner.decl.output.inner.id" $Union +pub fn make_int_union(int: i32) -> Union { + Union { int } +}