diff options
Diffstat (limited to 'tests/generics/tgenericrefs.nim')
-rw-r--r-- | tests/generics/tgenericrefs.nim | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/generics/tgenericrefs.nim b/tests/generics/tgenericrefs.nim new file mode 100644 index 000000000..ef931dfa7 --- /dev/null +++ b/tests/generics/tgenericrefs.nim @@ -0,0 +1,26 @@ +type + PA[T] = ref TA[T] + TA[T] = object + field: T +var a: PA[string] +new(a) +a.field = "some string" + +when false: + # Compiles unless you use var a: PA[string] + type + PA = ref TA + TA[T] = object + + + # Cannot instantiate: + type + TA[T] = object + a: PA[T] + PA[T] = ref TA[T] + + type + PA[T] = ref TA[T] + TA[T] = object + + |