mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 01:14:41 +00:00
fix #997
This commit is contained in:
@@ -1046,12 +1046,13 @@ proc paramTypesMatchAux(m: var TCandidate, f, argType: PType,
|
||||
# put(m.bindings, f, argType)
|
||||
return argSemantized
|
||||
|
||||
var evaluated = c.semTryConstExpr(c, arg)
|
||||
if evaluated != nil:
|
||||
arg.typ = newTypeS(tyStatic, c)
|
||||
arg.typ.sons = @[evaluated.typ]
|
||||
arg.typ.n = evaluated
|
||||
argType = arg.typ
|
||||
if argType.kind != tyStatic:
|
||||
var evaluated = c.semTryConstExpr(c, arg)
|
||||
if evaluated != nil:
|
||||
arg.typ = newTypeS(tyStatic, c)
|
||||
arg.typ.sons = @[evaluated.typ]
|
||||
arg.typ.n = evaluated
|
||||
argType = arg.typ
|
||||
|
||||
var
|
||||
a = if c.inTypeClass > 0: argType.skipTypes({tyTypeDesc, tyFieldAccessor})
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
discard """
|
||||
file: "tstaticparams.nim"
|
||||
output: "abracadabra\ntest\n3\n15\4"
|
||||
output: "abracadabra\ntest\n3\n15\n4\n2"
|
||||
"""
|
||||
|
||||
type
|
||||
@@ -49,3 +49,10 @@ proc getRows(mtx: Matrix): int =
|
||||
result = mtx.M
|
||||
|
||||
echo getRows(m)
|
||||
|
||||
# issue 997
|
||||
type TTest[T: static[int], U: static[int]] = array[0..T*U, int]
|
||||
type TTestSub[N: static[int]] = TTest[1, N]
|
||||
|
||||
var x: TTestSub[2]
|
||||
echo x.high
|
||||
|
||||
Reference in New Issue
Block a user