summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-07-18 12:16:54 +0200
committerAndreas Rumpf <rumpf_a@web.de>2016-07-18 12:16:54 +0200
commitd779a9b722f432fff25de9ddb97f57b5179eaaef (patch)
tree8111008de19cd6607c1c195e30871d88874514b9 /tests
parent55db59a897b0c61303b65c7af4d8ef9b110861ef (diff)
downloadNim-d779a9b722f432fff25de9ddb97f57b5179eaaef.tar.gz
fixes #4478
Diffstat (limited to 'tests')
-rw-r--r--tests/typerel/tgeneric_subtype_regression.nim19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/typerel/tgeneric_subtype_regression.nim b/tests/typerel/tgeneric_subtype_regression.nim
new file mode 100644
index 000000000..e279c0ad4
--- /dev/null
+++ b/tests/typerel/tgeneric_subtype_regression.nim
@@ -0,0 +1,19 @@
+discard """
+  errormsg: "type mismatch: got (FooRef[system.string])"
+  line: 15
+"""
+
+# bug #4478
+
+type
+  Foo[T] = object
+  FooRef[T] = ref Foo[T]
+
+proc takeFoo[T](foo: Foo[T]): int = discard
+
+proc g(x: FooRef[string]) =
+  echo x.takeFoo() != 8
+
+var x: FooRef[string]
+
+g(x)