+###### test: type_err5
+ struct foo
+ bar:baz
+ a:number
+ struct baz
+ bat:foo
+ b:string
+ struct foo
+ c:number
+
+###### output: type_err5
+ .tmp.code:8:7: error: type already declared: foo
+ .tmp.code:2:7: info: this is location of declartion: foo
+ .tmp.code:2:7: error: type has recursive definition: foo
+ .tmp.code:5:7: error: type has recursive definition: baz
+