fixes #6965
This commit is contained in:
parent
0b0baece89
commit
f3a895f043
4 changed files with 16 additions and 11 deletions
|
|
@ -445,13 +445,14 @@ proc nextOverloadIter*(o: var TOverloadIter, c: PContext, n: PNode): PSym =
|
|||
|
||||
if result != nil and result.kind == skStub: loadStub(result)
|
||||
|
||||
proc pickSym*(c: PContext, n: PNode; kind: TSymKind;
|
||||
proc pickSym*(c: PContext, n: PNode; kinds: set[TSymKind];
|
||||
flags: TSymFlags = {}): PSym =
|
||||
var o: TOverloadIter
|
||||
var a = initOverloadIter(o, c, n)
|
||||
while a != nil:
|
||||
if a.kind == kind and flags <= a.flags:
|
||||
return a
|
||||
if a.kind in kinds and flags <= a.flags:
|
||||
if result == nil: result = a
|
||||
else: return nil # ambiguous
|
||||
a = nextOverloadIter(o, c, n)
|
||||
|
||||
proc isInfixAs*(n: PNode): bool =
|
||||
|
|
|
|||
|
|
@ -320,11 +320,8 @@ proc semTypeIdent(c: PContext, n: PNode): PSym =
|
|||
if n.kind == nkSym:
|
||||
result = getGenSym(c, n.sym)
|
||||
else:
|
||||
when defined(nimfix):
|
||||
result = pickSym(c, n, skType)
|
||||
if result.isNil:
|
||||
result = qualifiedLookUp(c, n, {checkAmbiguity, checkUndeclared})
|
||||
else:
|
||||
result = pickSym(c, n, {skType, skGenericParam})
|
||||
if result.isNil:
|
||||
result = qualifiedLookUp(c, n, {checkAmbiguity, checkUndeclared})
|
||||
if result != nil:
|
||||
markUsed(n.info, result, c.graph.usageSym)
|
||||
|
|
|
|||
|
|
@ -1,2 +1,5 @@
|
|||
|
||||
proc range*() = echo "yo"
|
||||
proc range*() = echo "yo"
|
||||
|
||||
proc set*(a: int) =
|
||||
discard
|
||||
|
|
|
|||
|
|
@ -1,9 +1,13 @@
|
|||
discard """
|
||||
errormsg: "ambiguous identifier: 'range' --use system.range or mrange.range"
|
||||
line: 9
|
||||
line: 13
|
||||
"""
|
||||
|
||||
# bug #6726
|
||||
import mrange
|
||||
|
||||
# bug #6965
|
||||
type SomeObj = object
|
||||
s: set[int8]
|
||||
|
||||
# bug #6726
|
||||
range()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue