mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
fix static[Slice[T]] as argument issue (#15842)
This commit is contained in:
@@ -1079,7 +1079,7 @@ proc typeRel(c: var TCandidate, f, aOrig: PType,
|
||||
return typeRel(c, f, lastSon(aOrig), flags)
|
||||
|
||||
if a.kind == tyGenericInst and
|
||||
skipTypes(f, {tyVar, tyLent, tySink}).kind notin {
|
||||
skipTypes(f, {tyStatic, tyVar, tyLent, tySink}).kind notin {
|
||||
tyGenericBody, tyGenericInvocation,
|
||||
tyGenericInst, tyGenericParam} + tyTypeClasses:
|
||||
return typeRel(c, f, lastSon(a), flags)
|
||||
|
||||
@@ -109,3 +109,15 @@ block:
|
||||
doAssert Foo2[int,float|int] is Foo
|
||||
doAssert Foo2[int,float|int] isnot Bar
|
||||
doAssert int is (int|float)
|
||||
|
||||
|
||||
block:
|
||||
# Slice[T] as static type issue
|
||||
type
|
||||
MyEnum = enum
|
||||
x1, x2, x3, x4, x5, x6
|
||||
|
||||
proc enumGen[T: enum](s: static[Slice[T]]) =
|
||||
doAssert($s.a & " " & $s.b == "x1 x3")
|
||||
|
||||
enumGen(x1..x3)
|
||||
|
||||
Reference in New Issue
Block a user