If neither the client, nor the server feature is enabled the fields are unused and therefore trigger the dead_code lint.
ruma-macros provides procedural macros for easily generating types for Ruma crates.