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.