Code completion: remove type scopes?

I’m experimenting with how completions are displayed in clangd, and trying to reduce the noise, particularly for templates.

e.g. this example
std::vector X;
currently produces
void push_back(std::vector<int, std::allocator >::value_type &&__x)
and i’d prefer
void push_back(value_type &&__x)

I can get this by enabling PrintingPolicy.SuppressScope in SemaCodeComplete.
My initial thought was just to do this locally in clangd, but maybe:

  • there are known cases where this falls down terribly
  • this is just better and we should turn it on for other users (xcode?) too

The global change only breaks a few tests, in the obvious way: either a return type or parameter of a completion is no longer qualified.

(There are other things that are noisy here – int would be better than value_type – but that’s a different question)

Cheers, Sam

Hi Sam,

I believe that was already fixed in r317677 (

Indeed, sorry I missed that. Thanks!