Primitives
The following primitive types are available:
type hint | name |
---|---|
=bool | boolean |
={i,u}{8,16,32,64,128} | standard integer types |
=f{32, 64} | 32-bit / 64-bit floating point type |
=[u8; N] | byte array |
=[u8] | byte slice |
=str | string slice |
They can be used like this:
#![allow(unused)] fn main() { extern crate defmt; let enabled = false; let ready = false; let timeout = false; // arguments can be compressed into a single byte defmt::info!( "enabled: {=bool}, ready: {=bool}, timeout: {=bool}", enabled, ready, timeout, ); let x = 0u16; // arguments will be type checked defmt::trace!("{=u16}", x); // ^ must have type `u16` }
Additionally there are some special types:
type hint | name |
---|---|
=M..N | Bitfields |
=istr | Interned Strings |
=[?] | Format slices |
=[?; N] | Format arrays |
Read more about them in the following chapters.