@@ -9,7 +9,7 @@ use std::path::PathBuf;
9
9
use serde:: { Deserialize , Serialize } ;
10
10
11
11
/// rustdoc format-version.
12
- pub const FORMAT_VERSION : u32 = 21 ;
12
+ pub const FORMAT_VERSION : u32 = 22 ;
13
13
14
14
/// A `Crate` is the root of the emitted JSON blob. It contains all type/documentation information
15
15
/// about the language items in the local crate, as well as info about external items to allow
@@ -254,7 +254,7 @@ pub enum ItemEnum {
254
254
Macro ( String ) ,
255
255
ProcMacro ( ProcMacro ) ,
256
256
257
- PrimitiveType ( String ) ,
257
+ Primitive ( Primitive ) ,
258
258
259
259
AssocConst {
260
260
#[ serde( rename = "type" ) ]
@@ -542,12 +542,12 @@ pub enum Term {
542
542
#[ serde( rename_all = "snake_case" ) ]
543
543
#[ serde( tag = "kind" , content = "inner" ) ]
544
544
pub enum Type {
545
- /// Structs, enums, and traits
545
+ /// Structs, enums, and unions
546
546
ResolvedPath ( Path ) ,
547
547
DynTrait ( DynTrait ) ,
548
548
/// Parameterized types
549
549
Generic ( String ) ,
550
- /// Fixed-size numeric types (plus int/usize/float), char, arrays, slices , and tuples
550
+ /// Built in numberic (i*, u*, f*) types, bool , and char
551
551
Primitive ( String ) ,
552
552
/// `extern "ABI" fn`
553
553
FunctionPointer ( Box < FunctionPointer > ) ,
@@ -709,5 +709,11 @@ pub struct Static {
709
709
pub expr : String ,
710
710
}
711
711
712
+ #[ derive( Clone , Debug , PartialEq , Eq , Hash , Serialize , Deserialize ) ]
713
+ pub struct Primitive {
714
+ pub name : String ,
715
+ pub impls : Vec < Id > ,
716
+ }
717
+
712
718
#[ cfg( test) ]
713
719
mod tests;
0 commit comments