fix #4884
This commit is contained in:
parent
5947403e84
commit
bf612a7f19
2 changed files with 15 additions and 3 deletions
|
|
@ -1358,9 +1358,10 @@ proc paramTypesMatchAux(m: var TCandidate, f, argType: PType,
|
||||||
return argSemantized
|
return argSemantized
|
||||||
|
|
||||||
if argType.kind == tyStatic:
|
if argType.kind == tyStatic:
|
||||||
if m.callee.kind == tyGenericBody and tfGenericTypeParam notin argType.flags:
|
if m.callee.kind == tyGenericBody and
|
||||||
result = newNodeIT(nkType, argOrig.info, makeTypeFromExpr(c, arg))
|
argType.len == 0 and
|
||||||
return
|
tfGenericTypeParam notin argType.flags:
|
||||||
|
return newNodeIT(nkType, argOrig.info, makeTypeFromExpr(c, arg))
|
||||||
else:
|
else:
|
||||||
var evaluated = c.semTryConstExpr(c, arg)
|
var evaluated = c.semTryConstExpr(c, arg)
|
||||||
if evaluated != nil:
|
if evaluated != nil:
|
||||||
|
|
|
||||||
11
tests/generics/t4884.nim
Normal file
11
tests/generics/t4884.nim
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
type
|
||||||
|
Vec*[N: static[int], T] = object
|
||||||
|
arr*: array[N, T]
|
||||||
|
|
||||||
|
Mat*[N,M: static[int], T] = object
|
||||||
|
arr*: array[N, Vec[M,T]]
|
||||||
|
|
||||||
|
var m : Mat[3,3,float]
|
||||||
|
var strMat : Mat[m.N, m.M, string]
|
||||||
|
var lenMat : Mat[m.N, m.M, int]
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue