Hi y'all! I'm trying to reuse the type `T` of a generic concept `AnyFoo[T]` as a type of a field of another generic `Bar[A: AnyFoo]`, the code looks like this: type AnyFoo[T] = concept foo foo.color is T TheFoo = object color: int Bar[T, AnyFoo] = object of RootObj foo: AnyFoo x: T # instead of using T here, it would be nice to reuse the generic type from AnyFoo var f: TheFoo b: Bar[int, TheFoo] f.color = 10 b.foo = f echo typeof(b) echo typeof(b.foo.color) echo typeof(f) Run
This code works, but is it possible to get the type `T` from `AnyFoo` so I don't have to specify it separately in `Bar[T, AnyFoo]`? I feel there should be a better way, as this introduces unneeded complexity and room for error. I also tried it this way: type AnyFoo[T] = concept foo foo.color is T TheFoo = object color: int Bar[T] = object of RootObj foo: AnyFoo[T] x: T var f: TheFoo b: Bar[int] Run But it does not compile: `test.nim(16, 3) Error: invalid type: 'AnyFoo[int]' in this context: 'Bar[system.int]' for var` Any help and ideas are appreciated!