I didn’t see the point here. We create macros to reduce code duplication. In your case, if the macro is only for a single impl I didn’t see how it helps on reducing code.
Your example with a macro defined outside the impl block can be used to implement other trait instances. but your proposed version have the macro inside, makes it only usable inside the body. This limits its usage.