mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 08:54:53 +00:00
* fixes #20958; fixes the return type of slice function * add a testcase
This commit is contained in:
@@ -402,6 +402,9 @@ proc transformSlices(g: ModuleGraph; idgen: IdGenerator; n: PNode): PNode =
|
||||
let op = n[0].sym
|
||||
if op.name.s == "[]" and op.fromSystem:
|
||||
result = copyNode(n)
|
||||
var typ = newType(tyOpenArray, nextTypeId(g.idgen), result.typ.owner)
|
||||
typ.add result.typ[0]
|
||||
result.typ = typ
|
||||
let opSlice = newSymNode(createMagic(g, idgen, "slice", mSlice))
|
||||
opSlice.typ = getSysType(g, n.info, tyInt)
|
||||
result.add opSlice
|
||||
|
||||
@@ -61,3 +61,15 @@ maino() # Doesn't work outside a proc
|
||||
|
||||
when true:
|
||||
main()
|
||||
|
||||
block two:
|
||||
proc f(a: openArray[int]) =
|
||||
discard
|
||||
|
||||
proc main() =
|
||||
var a: array[0..9, int] = [0,1,2,3,4,5,6,7,8,9]
|
||||
parallel:
|
||||
spawn f(a[0..2])
|
||||
|
||||
|
||||
main()
|
||||
Reference in New Issue
Block a user