<div dir="ltr">I have a question about a clang-tidy feature that would be useful to me.<div><br></div><div><div>The feature would be to enforce the presence of an attribute on arguments when it is present in the parameter.</div><div><br>So, for example, if a function is defined like:<br>  bool tryGet(const std::string& key, [[out]] std::string& value);</div><div><br></div><div>Then calls to it would need to have a matching `[[out]]` attribute, like:</div><div>  if (!directory.tryGet(k, [[out]] v)) {</div><div><br></div><div>If the attribute is omitted at the call site, a warning would be generated. Likewise, if the attribute appeared at the call site, but not at the function declaration, that would generate a warning.<br><br></div><div>No deeper enforcement is necessary. Presumably, which attributes would get this enforcement would be configurable.</div></div><div><br></div><div>Is this or anything similar already supported? If not, could someone please point me towards the steps I'd need to take get it added? This could either be as a feature request for someone else to fulfill, or if necessary, my own contribution to the project.</div></div>