E.g. allow injected "A::A" in using A::A^ but not in "A^".
Details
Details
- Reviewers
kadircet - Commits
- rGb1317fa8dfc0: [clangd] Drop injected class name when class scope is not explicitly specified.
rCTE347982: [clangd] Drop injected class name when class scope is not explicitly specified.
rL347982: [clangd] Drop injected class name when class scope is not explicitly specified.
Diff Detail
Diff Detail
- Repository
- rCTE Clang Tools Extra
- Build Status
Buildable 25492 Build 25491: arc lint + arc unit
Event Timeline
Comment Actions
LGTM, thanks!
unittests/clangd/CodeCompleteTests.cpp | ||
---|---|---|
419 | Could you also add a test for the inheritance of injected class name? For ex: struct X {}; struct T : private X {}; struct F : public T { X^ <-- this is inavlid and we should not suggest X here, since it is inaccessible. ::X^ <-- this should be Ok. }; |
unittests/clangd/CodeCompleteTests.cpp | ||
---|---|---|
419 | Happy to improve the test coverage. But I couldn't see how this tests changes in this patch. It seems something sema access should be testing and a bit out of scope? Could you elaborate on the intention? Thanks! |
unittests/clangd/CodeCompleteTests.cpp | ||
---|---|---|
419 | Ah you are right, it should be rather handled within sema to mark the first one as not accessible. |
Could you also add a test for the inheritance of injected class name? For ex: