summary refs log tree commit diff stats
path: root/tests/method/tgeneric_methods2.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/method/tgeneric_methods2.nim')
-rw-r--r--tests/method/tgeneric_methods2.nim15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/method/tgeneric_methods2.nim b/tests/method/tgeneric_methods2.nim
new file mode 100644
index 000000000..6e761dc48
--- /dev/null
+++ b/tests/method/tgeneric_methods2.nim
@@ -0,0 +1,15 @@
+#5432
+type
+  Iterator[T] = ref object of RootObj
+
+# base methods with `T` in the return type are okay
+method methodThatWorks*[T](i: Iterator[T]): T {.base.} =
+  discard
+
+# base methods without `T` (void or basic types) fail
+method methodThatFails*[T](i: Iterator[T]) {.base.} =
+  discard
+
+type
+  SpecificIterator1 = ref object of Iterator[string]
+  SpecificIterator2 = ref object of Iterator[int]