Nim/tests/types/taliasassignment.nim

50 lines
No EOL
697 B
Nim

discard """
output: '''19
(c: 0)
(c: 13)
@[(c: 11)]
@[(c: 17)]'''
"""
# bug #5238
type
Rgba8 = object
c: int
BlenderRgb*[ColorT] = object
template getColorType*[C](x: typedesc[BlenderRgb[C]]): typedesc = C
type
ColorT = getColorType(BlenderRgb[int])
proc setColor(c: var ColorT) =
c = 19
var n: ColorT
n.setColor()
echo n
type
ColorType = getColorType(BlenderRgb[Rgba8])
var x: ColorType
echo x
proc setColor(c: var ColorType) =
c = Rgba8(c: 13)
proc setColor(c: var seq[ColorType]) =
c[0] = Rgba8(c: 11)
proc setColorArray(c: var openArray[ColorType]) =
c[0] = Rgba8(c: 17)
x.setColor()
echo x
var y = @[Rgba8(c:15)]
y.setColor()
echo y
y.setColorArray()
echo y