+var abc: int;\r
+var def: int;\r
+var ghi: int;\r
+\r
+func f1<A, B> (a : int, b : int, cs: int[]) : int {\r
+ var i1 : int;\r
+ var s1 : S1;\r
+ if a != i1 {\r
+ var i2 : int = 987;\r
+ return i2;\r
+ }\r
+ print(s1.i1);\r
+ print(s1.a1[0]);\r
+ return 133;\r
+}\r
+\r
+struct S1<T> {\r
+ i1 : int;\r
+ i2 : int;\r
+ a1 : int[10];\r
+ a2 : int[10]*;\r
+ a2 : int[];\r
+\r
+ m1<I>() : void {\r
+ while i1 < i2 {\r
+ i1 = m2(i1);\r
+\r
+ i2 = i1 + i2 * (i2 - 45) + 4;\r
+\r
+ print(12345);\r
+ }\r
+ }\r
+\r
+ m2<A>(i: int) : int {\r
+ var j : int = 0;\r
+ while j < 10 {\r
+ print(a1[j]);\r
+ }\r
+ }\r
+}
\ No newline at end of file