pub name: Option<String>,
/// The source location of this item (absent if it came from a macro expansion or inline
/// assembly).
- pub source: Option<Span>,
+ pub span: Option<Span>,
/// By default all documented items are public, but you can tell rustdoc to output private items
/// so this field is needed to differentiate.
pub visibility: Visibility,
#[serde(rename_all = "snake_case")]
pub struct Import {
/// The full path being imported.
- pub span: String,
+ pub source: String,
/// May be different from the last segment of `source` when renaming imports:
/// `use source as name;`
pub name: String,
}
#[cfg(test)]
-mod tests {
- use super::*;
-
- #[test]
- fn test_struct_info_roundtrip() {
- let s = ItemEnum::Struct(Struct {
- struct_type: StructType::Plain,
- generics: Generics {
- params: vec![],
- where_predicates: vec![]
- },
- fields_stripped: false,
- fields: vec![],
- impls: vec![],
- });
-
- let struct_json = serde_json::to_string(&s).unwrap();
-
- let de_s = serde_json::from_str(&struct_json).unwrap();
-
- assert_eq!(s, de_s);
- }
-
- #[test]
- fn test_union_info_roundtrip() {
- let u = ItemEnum::Union(Union {
- generics: Generics {
- params: vec![],
- where_predicates: vec![]
- },
- fields_stripped: false,
- fields: vec![],
- impls: vec![],
- });
-
- let union_json = serde_json::to_string(&u).unwrap();
-
- let de_u = serde_json::from_str(&union_json).unwrap();
-
- assert_eq!(u, de_u);
- }
-}
+mod tests;