Fix recursive generic typed defs (#18809)

This commit is contained in:
Jason Beetham 2021-09-06 01:43:26 -06:00 • committed by GitHub
commit 7ae52d7791
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 1 deletions

View file

@ -0,0 +1,12 @@
block: # Replicates #18728
type
FlipFlop[A, B] = ref object
next: FlipFlop[B, A]
Trinary[A, B, C] = ref object
next: Trinary[B, C, A]
assert typeof(FlipFlop[int, string]().next) is FlipFlop[string, int]
assert typeof(FlipFlop[string, int]().next) is FlipFlop[int, string]
assert typeof(Trinary[int, float, string]().next) is Trinary[float, string, int]
assert typeof(Trinary[int, float, string]().next.next) is Trinary[string, int, float]