1use std::any::TypeId;
2
3#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
4pub struct TypeSignature {
5 pub name: String,
6 pub id: TypeId,
7 pub is_const: bool,
8 pub is_mut: bool,
9 pub is_unsafe: bool,
10 pub is_impl_trait: bool,
11 pub is_dyn_trait: bool,
12 pub is_infer: bool,
13 pub is_macro: bool,
14 pub is_never: bool,
15 pub is_paren: bool,
16 pub is_group: bool,
17 pub is_path: bool,
18 pub is_tuple: bool,
19 pub is_array: bool,
20 pub is_slice: bool,
21 pub is_closure: bool,
22 pub is_ref: bool,
23 pub is_ptr: bool,
24 pub is_verbatim: bool,
25 pub len: Option<usize>,
26 pub lifetimes: Vec<String>,
27 pub children: Vec<TypeSignature>,
28}