.. _TypeKind: TypeKind ======== .. code-block:: bl TypeKind :: enum { Type :: 1; Void :: 2; Int :: 3; Real :: 4; Fn :: 5; Ptr :: 6; Bool :: 7; Array :: 8; Struct :: 9; Enum :: 10; Null :: 11; String :: 12; FnGroup :: 16; } TypeKind describes kind of BL type returned in TypeInfo structure. This value can be used for safe casting. Variants -------- **Type** - Base type of all types in type system. **Void** - Void type. (Implicitly used for functions without return value) **Int** - Any integer type: `s8`, `s16`, `s32`, `s64`, `u8`, `u16`, `u32`, `u64`, `usize`. **Real** - Any real type: `f32`, `f64`. **Fn** - Function type. **Ptr** - Pointer type. **Bool** - Boolean type. **Array** - Array type. **Struct** - Structure type. **Enum** - Enumerator type. **Null** - Null-value type. **String** - String type. **FnGroup** - Function group type. *Declared in: a.bl*