xref: /Universal-ctags/Units/parser-cxx.r/bug-github-3019.d/input-1.cpp (revision 84118af44f24defb953313d83b707c51300973a3)
1 typedef int myint;
2 
3 struct Point {
PointPoint4   Point (int i): x(i), y(i) {}
5   int x,y;
6 };
7 
8 class Int {
9 public:
Int(int i=0)10   Int (int i = 0): val(i), p(i) {}
11 
operator myint() const12   operator myint() const { return val; }
operator const myint() const13   operator const myint() const { return val; }
operator myint*() const14   operator myint*() const { return NULL; }
operator const myint*() const15   operator const myint*() const { return NULL; }
16 
operator myint*const() const17   operator myint*const() const { return NULL; }
operator const myint*const() const18   operator const myint*const() const { return NULL; }
19 
operator int() const20   operator int() const { return val; }
21 
operator int*() const22   operator int *() const { return 0; }
operator const int*() const23   operator const int *() const { return 0; }
operator const int*const() const24   operator const int *const() const { return 0; }
operator int*const() const25   operator int *const() const { return 0; }
26 
operator struct Point*() const27   operator struct Point *() const { return (Point *)&p; }
operator const struct Point*() const28   operator const struct Point *() const { return 0; }
operator const struct Point*const() const29   operator const struct Point *const() const { return 0; }
operator struct Point*const() const30   operator struct Point *const() const { return 0; }
31 
32 private:
33   int val;
34   struct Point p;
35 };
36 
main(void)37 int main(void)
38 {
39   return Int ();
40 }
41