I am using CoC with Vim. The completions work fine when the macro is incomplete. But when the macro is complete (including the last ! character) and then completion is triggered, then it completes the macro twice.
An example is:
Before completion:
fn main() {
println!<|>
}
After completion:
fn main()
println!println!(<|>)
}