During completion, we use this code to descend from a macro invocation to the expansion:
https://github.com/rust-analyzer/rust-analyzer/blob/1376ece497c2e189c97810e188e25c94f10951a8/crates/ide_completion/src/context.rs#L178-L182
This does not handle attribute macros, so completion doesn't work inside them. The code also makes use of speculative expansion, which is not yet implemented for attribute macros.
During completion, we use this code to descend from a macro invocation to the expansion:
https://github.com/rust-analyzer/rust-analyzer/blob/1376ece497c2e189c97810e188e25c94f10951a8/crates/ide_completion/src/context.rs#L178-L182
This does not handle attribute macros, so completion doesn't work inside them. The code also makes use of speculative expansion, which is not yet implemented for attribute macros.