76 lines
1.1 KiB
Nim
76 lines
1.1 KiB
Nim
discard """
|
|
output: '''
|
|
@[(v: -1), (v: 2), (v: 3)]
|
|
@[(v: -1), (v: 2), (v: 3)]
|
|
[(v: -1), (v: 2), (v: 3)]
|
|
[(v: -1), (v: 2), (v: 3)]
|
|
((v: -1), (v: 2), (v: 3))
|
|
((v: -1), (v: 2), (v: 3))
|
|
@[(v: -1), (v: 2), (v: 3)]
|
|
@[(v: -1), (v: 2), (v: 3)]
|
|
@[(v: -1), (v: 2), (v: 3)]
|
|
'''
|
|
"""
|
|
|
|
type mytype* = object
|
|
v:int
|
|
|
|
proc f*(x:ptr mytype) = x.v = -1
|
|
|
|
func g(x:int):mytype = mytype(v:x)
|
|
|
|
|
|
import xseq9578
|
|
block:
|
|
var x = @[1.g,2.g,3.g]
|
|
testSeq(x)
|
|
echo x
|
|
block:
|
|
var x = @[1.g,2.g,3.g]
|
|
var y = addr x
|
|
testSeq2(y)
|
|
echo x
|
|
|
|
|
|
import xarray9578
|
|
block:
|
|
var x = [1.g,2.g,3.g]
|
|
testArray(x)
|
|
echo x
|
|
block:
|
|
var x = [1.g,2.g,3.g]
|
|
var y = addr x
|
|
testArray2(y)
|
|
echo x
|
|
|
|
|
|
import xtuple9578
|
|
block:
|
|
var x = (1.g,2.g,3.g)
|
|
testTuple(x)
|
|
echo x
|
|
block:
|
|
var x = (1.g,2.g,3.g)
|
|
var y = addr x
|
|
testTuple2(y)
|
|
echo x
|
|
|
|
|
|
import xoa9578
|
|
block:
|
|
var x = @[1.g,2.g,3.g]
|
|
testOpenArray(x)
|
|
echo x
|
|
|
|
|
|
import xua9578
|
|
block:
|
|
var x = @[1.g,2.g,3.g]
|
|
var y = cast[ptr UncheckedArray[mytype]](addr x[0])
|
|
testUncheckedArray(y[])
|
|
echo x
|
|
block:
|
|
var x = @[1.g,2.g,3.g]
|
|
var y = cast[ptr UncheckedArray[mytype]](addr x[0])
|
|
testUncheckedArray2(y)
|
|
echo x
|