close #3153
This commit is contained in:
parent
367d232351
commit
6f935598f4
1 changed files with 24 additions and 1 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
discard """
|
discard """
|
||||||
file: "tstaticparams.nim"
|
file: "tstaticparams.nim"
|
||||||
output: "abracadabra\ntest\n3\n15\n4\n2\nfloat\n3\nfloat\nyin\nyang\n2"
|
output: "abracadabra\ntest\n3\n15\n4\n2\nfloat\n3\nfloat\nyin\nyang\n2\n4\n4\n2\n3"
|
||||||
"""
|
"""
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
@ -150,3 +150,26 @@ proc arraySize[N: static[int]](A: array[N, int]): int =
|
||||||
var A: array[size, int] = [1, 2]
|
var A: array[size, int] = [1, 2]
|
||||||
echo arraySize(A)
|
echo arraySize(A)
|
||||||
|
|
||||||
|
# https://github.com/nim-lang/Nim/issues/3153
|
||||||
|
|
||||||
|
proc outSize1[M: static[int], A](xs: array[M, A]): int = M
|
||||||
|
echo outSize1([1, 2, 3, 4])
|
||||||
|
|
||||||
|
type
|
||||||
|
Arr[N: static[int], A] = array[N, A]
|
||||||
|
|
||||||
|
proc outSize2[M: static[int], A](xs: Arr[M, A]): int = M
|
||||||
|
echo outSize2([1, 2, 3, 4]) # 4
|
||||||
|
|
||||||
|
echo outSize2([
|
||||||
|
[1, 2, 3],
|
||||||
|
[4, 5, 6]
|
||||||
|
]) # 2
|
||||||
|
|
||||||
|
proc inSize[M, N: static[int]](xs: Arr[M, Arr[N, int]]): int = N
|
||||||
|
|
||||||
|
echo inSize([
|
||||||
|
[1, 2, 3],
|
||||||
|
[4, 5, 6]
|
||||||
|
])
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue