some work to make 'opt' a first class type
This commit is contained in:
parent
e5cb1a2dd5
commit
e879da5791
13 changed files with 52 additions and 71 deletions
|
|
@ -100,7 +100,7 @@ proc getUniqueType*(key: PType): PType =
|
|||
if result == nil:
|
||||
gCanonicalTypes[k] = key
|
||||
result = key
|
||||
of tyTypeDesc, tyTypeClasses, tyGenericParam, tyFromExpr, tyFieldAccessor:
|
||||
of tyTypeDesc, tyTypeClasses, tyGenericParam, tyFromExpr:
|
||||
if key.isResolvedUserTypeClass:
|
||||
return getUniqueType(lastSon(key))
|
||||
if key.sym != nil:
|
||||
|
|
@ -126,7 +126,7 @@ proc getUniqueType*(key: PType): PType =
|
|||
result = slowSearch(key, k)
|
||||
of tyGenericInvocation, tyGenericBody,
|
||||
tyOpenArray, tyArray, tySet, tyRange, tyTuple,
|
||||
tySequence, tyForward, tyVarargs, tyProxy:
|
||||
tySequence, tyForward, tyVarargs, tyProxy, tyOpt:
|
||||
# we have to do a slow linear search because types may need
|
||||
# to be compared by their structure:
|
||||
result = slowSearch(key, k)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue