[PATCH] D71110: [clangd] A tool to evaluate cross-file rename.

Kirill Bobyrev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 12 05:09:03 PST 2020


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





More information about the cfe-commits mailing list