%module xxx
void check(const int *v) {}
void check(int *v) {}
void check(int &v) {}
void check(const int &v) {} // note: no warning as marshalled by value
struct OverStruct {};
void check(const OverStruct *v) {}
void check(OverStruct *v) {}
void check(OverStruct &v) {}
void check(const OverStruct &v) {}