// RUN: %check_clang_tidy %s google-runtime-operator %t struct Foo { void *operator&(); // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: do not overload unary operator&, it is dangerous. [google-runtime-operator] }; template struct TFoo { T *operator&(); // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: do not overload unary operator& }; TFoo tfoo; struct Bar; void *operator&(Bar &b); // CHECK-MESSAGES: :[[@LINE-1]]:1: warning: do not overload unary operator& // No warnings on binary operators. struct Qux { void *operator&(Qux &q); }; void *operator&(Qux &q, Qux &r);