summary refs log blame commit diff stats
path: root/tests/generics/tgenericdefaults.nim
blob: ad96f185130785a6f8aac7a3c3f5997533eb430a (plain) (tree)




























                                             
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