File: tgenericdefaultvalue.nim

package info (click to toggle)
nim 2.2.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,951,164 kB
  • sloc: sh: 24,599; ansic: 1,771; python: 1,493; makefile: 1,013; sql: 298; asm: 141; xml: 13
file content (26 lines) | stat: -rw-r--r-- 457 bytes parent folder | download
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
block: # issue #23594
  type
    Gen[T] = object
      a: T = 1.0

    Spec32 = Gen[float32]
    Spec64 = Gen[float64]

  var
    a: Spec32
    b: Spec64
  doAssert sizeof(a) == 4
  doAssert sizeof(b) == 8
  doAssert a.a is float32
  doAssert b.a is float64

block: # issue #21941
  func what[T](): T =
    123

  type MyObject[T] = object
      f: T = what[T]()

  var m: MyObject[float] = MyObject[float]()
  doAssert m.f is float
  doAssert m.f == 123.0