mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-18 21:40:32 +00:00
fix #4884
This commit is contained in:
@@ -1358,9 +1358,10 @@ proc paramTypesMatchAux(m: var TCandidate, f, argType: PType,
|
||||
return argSemantized
|
||||
|
||||
if argType.kind == tyStatic:
|
||||
if m.callee.kind == tyGenericBody and tfGenericTypeParam notin argType.flags:
|
||||
result = newNodeIT(nkType, argOrig.info, makeTypeFromExpr(c, arg))
|
||||
return
|
||||
if m.callee.kind == tyGenericBody and
|
||||
argType.len == 0 and
|
||||
tfGenericTypeParam notin argType.flags:
|
||||
return newNodeIT(nkType, argOrig.info, makeTypeFromExpr(c, arg))
|
||||
else:
|
||||
var evaluated = c.semTryConstExpr(c, arg)
|
||||
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]
|
||||
|
||||
Reference in New Issue
Block a user