mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-19 14:00:35 +00:00
fixes #6965
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user