mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-22 07:15:22 +00:00
fixes #2404
This commit is contained in:
13
tests/concepts/mvarconcept.nim
Normal file
13
tests/concepts/mvarconcept.nim
Normal file
@@ -0,0 +1,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)
|
||||
@@ -1,15 +1,9 @@
|
||||
discard """
|
||||
output: "5"
|
||||
"""
|
||||
|
||||
# bug #2346
|
||||
# bug #2346, bug #2404
|
||||
|
||||
type RNG64 = concept var rng
|
||||
rng.randomUint64() is uint64
|
||||
import mvarconcept
|
||||
|
||||
proc randomInt*(rng: var RNG64; max: int): int = 4
|
||||
|
||||
|
||||
type MyRNG* = object
|
||||
|
||||
proc randomUint64*(self: var MyRNG): uint64 = 4
|
||||
|
||||
var r = MyRNG()
|
||||
echo r.randomInt(5)
|
||||
echo randomInt(5)
|
||||
|
||||
Reference in New Issue
Block a user