kbobyrev added a comment.

In D71110#1871896 <https://reviews.llvm.org/D71110#1871896>, @hokein wrote:

> Thanks for the feedback!
>
> Yeah, currently template classes are not supported in cross-file rename, see 
> https://github.com/llvm/llvm-project/blob/master/clang-tools-extra/clangd/refactor/Rename.cpp#L187.
>
> So `llvm::Optional` and `llvm::Optional` should fail to rename, but StringRef 
> and llvm::None should work (if you remove the hard-coded max limit 50).


Ah, I see, thank you for the explanation! I think it would be super useful to 
have the error message reflecting that!

Also, the `llvm::Twine` fails too, many of the failures are related to the 
forward declarations (I think the problem is that they are treated differently 
from the original symbol and are not being renamed at all in the corresponding 
files, but that's just my guess). It`s probably a good idea to keep track of 
all the entries that can break global rename in some issue on the Github so 
that they're not lost?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71110/new/

https://reviews.llvm.org/D71110



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to