File: tmapping_generic_alias.nim

package info (click to toggle)
nim 2.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,911,644 kB
  • sloc: sh: 24,603; ansic: 1,761; python: 1,492; makefile: 1,013; sql: 298; asm: 141; xml: 13
file content (28 lines) | stat: -rw-r--r-- 334 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
discard """
output: '''type(c) = GenAlias[system.int]
T = int
seq[int]
'''
"""

import typetraits

type
  Gen[T] = object
    x: T

  GenAlias[T] = Gen[seq[T]]

proc f1[T](x: Gen[T]) =
  echo T.name

proc f2[T](x: GenAlias[T]) =
  echo "type(c) = ", type(x).name
  echo "T = ", T.name
  f1 x

let
  y = Gen[seq[int]](x: @[10])

f2 y