//other file
#include <iostream>
using namespace std;
struct A{
void operator()(){cout << "A() called" << endl;}
};
void fun(A a){
a();
}
//original file
#include <iostream>
using namespace std;
struct A;
void fun(A a);
struct A{
void operator()(){cout << "A() called" << endl;}
};
int main(){
fun(A());
return 0;
}
Ly9vdGhlciBmaWxlCiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RydWN0IEF7CiAgICB2b2lkIG9wZXJhdG9yKCkoKXtjb3V0IDw8ICJBKCkgY2FsbGVkIiA8PCBlbmRsO30KfTsKCnZvaWQgZnVuKEEgYSl7CglhKCk7Cn0KCi8vb3JpZ2luYWwgZmlsZQojaW5jbHVkZSA8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgQTsKCnZvaWQgZnVuKEEgYSk7CgpzdHJ1Y3QgQXsKICAgIHZvaWQgb3BlcmF0b3IoKSgpe2NvdXQgPDwgIkEoKSBjYWxsZWQiIDw8IGVuZGw7fQp9OwoKaW50IG1haW4oKXsKICAgIGZ1bihBKCkpOwogICAgcmV0dXJuIDA7Cn0KCg==