From 65b26401bca4a45778dff7ceb9fa3a29b562bb25 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Wed, 25 Dec 2024 16:26:06 +0800 Subject: [PATCH] adds a test case (#24565) closes #19531 --- tests/generics/tgeneric0.nim | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/generics/tgeneric0.nim b/tests/generics/tgeneric0.nim index 16a148f7bb..76e9cd8d51 100644 --- a/tests/generics/tgeneric0.nim +++ b/tests/generics/tgeneric0.nim @@ -194,3 +194,28 @@ block: # bug #21347 proc b2(n: bool) = s[K[K[int]]]() b1(false) # Error: 's' has unspecified generic parameters b2(false) # Builds, on its own + +block: # bug #19531 + type + Foo[T] = object + + Bar[F: Foo] = object + c: proc(t: F.T) + + proc cb[F](v: Bar[F]) = + v.c(default(F.T)) + + type + X = object + x: uint32 + Y = object + x: uint32 + proc cbX(v: X) = discard + proc cbY(v: Y) = discard + + let + x = Bar[Foo[X]](c: cbX) + y = Bar[Foo[Y]](c: cbY) + x.cb() + y.cb() +