This is a tentative fix for https://bugs.llvm.org/show_bug.cgi?id=45357
Spaces seem to be introduced between * and * due to changes brought in for D69573: [clang-format] [PR36294] AlwaysBreakAfterReturnType works incorrectly for some operator functions
We may need to gather some more use cases.
Pre the changes in D69573 the output was:
class UniquePtrGetterAddRefs { operator void **() { return reinterpret_cast<void **>(&mPtrStorage); } } class ReturnToGlobal { operator LocalRef<Object> *() { return &objRef; } }
In the last windows snapshot (11.0.0.2263) (Feb 2020) the output was:
class UniquePtrGetterAddRefs { operator void * *() { return reinterpret_cast<void **>(&mPtrStorage); } } class ReturnToGlobal { operator LocalRef<Object> *() { return &objRef; } }
post fix the out is:
class UniquePtrGetterAddRefs { operator void **() { return reinterpret_cast<void **>(&mPtrStorage); } } class ReturnToGlobal { operator LocalRef<Object>*() { return &objRef; } }
Is the removal of the space between the <Object> and the* what you expect?
I'm not happy about this it feels way too general.