mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 01:14:41 +00:00
30 lines
493 B
Nim
30 lines
493 B
Nim
type
|
|
TFoo[T, U, R = int] = object
|
|
x: T
|
|
y: U
|
|
z: R
|
|
|
|
TBar[T] = TFoo[T, array[4, T], T]
|
|
|
|
var x1: TFoo[int, float]
|
|
|
|
static:
|
|
assert type(x1.x) is int
|
|
assert type(x1.y) is float
|
|
assert type(x1.z) is int
|
|
|
|
var x2: TFoo[string, R = float, U = seq[int]]
|
|
|
|
static:
|
|
assert type(x2.x) is string
|
|
assert type(x2.y) is seq[int]
|
|
assert type(x2.z) is float
|
|
|
|
var x3: TBar[float]
|
|
|
|
static:
|
|
assert type(x3.x) is float
|
|
assert type(x3.y) is array[4, float]
|
|
assert type(x3.z) is float
|
|
|