Remove struct_type from union output and bump format

This commit is contained in:
Rune Tynan 2021-01-23 19:40:29 -05:00
parent 74500b9978
commit 3106de5f2a
No known key found for this signature in database
GPG Key ID: 7ECC932F8B2C731E
4 changed files with 20 additions and 6 deletions

View File

@ -154,7 +154,7 @@ impl From<clean::ItemKind> for ItemEnum {
}
ImportItem(i) => ItemEnum::ImportItem(i.into()),
StructItem(s) => ItemEnum::StructItem(s.into()),
UnionItem(u) => ItemEnum::StructItem(u.into()),
UnionItem(u) => ItemEnum::UnionItem(u.into()),
StructFieldItem(f) => ItemEnum::StructFieldItem(f.into()),
EnumItem(e) => ItemEnum::EnumItem(e.into()),
VariantItem(v) => ItemEnum::VariantItem(v.into()),
@ -205,11 +205,10 @@ impl From<clean::Struct> for Struct {
}
}
impl From<clean::Union> for Struct {
impl From<clean::Union> for Union {
fn from(struct_: clean::Union) -> Self {
let clean::Union { generics, fields, fields_stripped } = struct_;
Struct {
struct_type: StructType::Union,
Union {
generics: generics.into(),
fields_stripped,
fields: ids(fields),

View File

@ -243,7 +243,7 @@ impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx> {
)
})
.collect(),
format_version: 2,
format_version: 3,
};
let mut p = self.out_path.clone();
p.push(output.index.get(&output.root).unwrap().name.clone().unwrap());

View File

@ -194,6 +194,7 @@ pub enum ItemEnum {
},
ImportItem(Import),
UnionItem(Union),
StructItem(Struct),
StructFieldItem(Type),
EnumItem(Enum),
@ -238,6 +239,14 @@ pub struct Module {
pub items: Vec<Id>,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
pub struct Union {
pub generics: Generics,
pub fields_stripped: bool,
pub fields: Vec<Id>,
pub impls: Vec<Id>,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
pub struct Struct {
pub struct_type: StructType,
@ -270,7 +279,6 @@ pub enum StructType {
Plain,
Tuple,
Unit,
Union,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]

View File

@ -0,0 +1,7 @@
// @has union.json "$.index[*][?(@.name=='Union')].visibility" \"public\"
// @has - "$.index[*][?(@.name=='Union')].kind" \"union\"
// @!has - "$.index[*][?(@.name=='Union')].inner.struct_type"
pub union Union {
int: i32,
float: f32,
}