Static analyser cppcheck says: clang/lib/ASTMatchers/Dynamic/Marshallers.h:939:54: performance: Function parameter 'NodeKinds' should be passed by const reference. [passedByValue] Source code is MapAnyOfMatcherDescriptor(ASTNodeKind CladeNodeKind, std::vector<ASTNodeKind> NodeKinds) I wouldn't have bothered normally, but NodeKinds is a vector, which implies there are many objects of type ASTNodeKind. Might be worth tuning.