Thanks for the reply! Yes hardcoding the actual value of <i32 as FromByteRepr>::Size works, but the purpose of this example was to spec out a derive macro for this trait, so i32 is just meant to represent some arbitrary concrete type (which the macro would not know the actual instantiation of). I will try your second example, thanks. Is this a known compiler bug? Is there somewhere I should report it?