#include struct S {}; template , int> = 0> void pick(T value) {} template , int> = 0> void pick(T value) {} void run(S* p, S s) { pick(p); pick(s); }