mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 01:14:41 +00:00
close #4524
This commit is contained in:
committed by
Andreas Rumpf
parent
ba61e7e3ac
commit
92ee2ee4ce
@@ -1,6 +1,6 @@
|
||||
discard """
|
||||
file: "tstaticparams.nim"
|
||||
output: "abracadabra\ntest\n3\n15\n4\n2\nfloat\n3\nfloat\nyin\nyang"
|
||||
output: "abracadabra\ntest\n3\n15\n4\n2\nfloat\n3\nfloat\nyin\nyang\n2"
|
||||
"""
|
||||
|
||||
type
|
||||
@@ -140,3 +140,13 @@ dontBind1 bb_2
|
||||
dontBind2 bb_1
|
||||
dontBind2 bb_2
|
||||
|
||||
# https://github.com/nim-lang/Nim/issues/4524
|
||||
const
|
||||
size* = 2
|
||||
|
||||
proc arraySize[N: static[int]](A: array[N, int]): int =
|
||||
result = A.high - A.low + 1
|
||||
|
||||
var A: array[size, int] = [1, 2]
|
||||
echo arraySize(A)
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@ output: '''
|
||||
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||
|
||||
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||
|
||||
[1, 2, 3, 4]
|
||||
'''
|
||||
"""
|
||||
|
||||
@@ -40,3 +42,13 @@ echo repr(m)
|
||||
echo repr(n)
|
||||
echo repr(o)
|
||||
|
||||
type
|
||||
Vect[N: static[int], A] = array[N, A]
|
||||
|
||||
proc push[N: static[int], A](a: Vect[N, A], x: A): Vect[N + 1, A] =
|
||||
for n in 0 .. < N:
|
||||
result[n] = a[n]
|
||||
result[N] = x
|
||||
|
||||
echo repr(push([1, 2, 3], 4))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user