> Aztec.nr API reference, v6.0.0 (mainnet and testnet). Index: https://docs.aztec.network/aztec-nr-api/v6.0.0/llms.txt

# Struct DataType

Module: `std::meta::typ`

```rust
pub comptime struct DataType
{ /* private fields */ }
```

A struct or enum type decomposed by [`Type::as_data_type`](/aztec-nr-api/v6.0.0/std/primitive.Type.md#as_data_type) into its [`TypeDefinition`](/aztec-nr-api/v6.0.0/std/primitive.TypeDefinition.md) and its concrete generic arguments.

## Implementations

```rust
impl DataType
```

```rust
pub comptime fn definition(self) -> TypeDefinition
```

The [`TypeDefinition`](/aztec-nr-api/v6.0.0/std/primitive.TypeDefinition.md) for this type.

```rust
pub comptime fn generics(self) -> [Type]
```

The concrete generic arguments applied to the definition, in source order.
