summary refs log blame commit diff stats
path: root/tests/concepts/mvarconcept.nim
blob: 0f9d0beff6f7330a8de0e482f02edde4f3ff2aa9 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13












                                                         
type RNG* = concept var rng
  rng.randomUint32() is uint32

type MersenneTwister* = object

proc randomUint32*(self: var MersenneTwister): uint32 = 5

proc randomInt*(rng: var RNG; max: Positive): Natural = 5

var mersenneTwisterInst = MersenneTwister()

proc randomInt*(max: Positive): Natural =
  mersenneTwisterInst.randomInt(max)