macro_rules! cache_field { ($name:ident($this:ident, $logger:ident) -> $type:ty $code:block) => { ... }; }