diff options
Diffstat (limited to 'tests/method/tgeneric_methods2.nim')
-rw-r--r-- | tests/method/tgeneric_methods2.nim | 15 |
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] |