fixes #332
This commit is contained in:
parent
3620155d93
commit
65319ba22d
2 changed files with 14 additions and 2 deletions
|
|
@ -108,8 +108,8 @@ proc methodDef*(s: PSym, fromCache: bool) =
|
||||||
|
|
||||||
proc relevantCol(methods: TSymSeq, col: int): bool =
|
proc relevantCol(methods: TSymSeq, col: int): bool =
|
||||||
# returns true iff the position is relevant
|
# returns true iff the position is relevant
|
||||||
var t = methods[0].typ.sons[col]
|
var t = methods[0].typ.sons[col].skipTypes(skipPtrs)
|
||||||
if skipTypes(t, skipPtrs).kind == tyObject:
|
if t.kind == tyObject:
|
||||||
for i in countup(1, high(methods)):
|
for i in countup(1, high(methods)):
|
||||||
let t2 = skipTypes(methods[i].typ.sons[col], skipPtrs)
|
let t2 = skipTypes(methods[i].typ.sons[col], skipPtrs)
|
||||||
if not SameType(t2, t):
|
if not SameType(t2, t):
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,18 @@ discard """
|
||||||
method somethin(obj: TObject) =
|
method somethin(obj: TObject) =
|
||||||
echo "do nothing"
|
echo "do nothing"
|
||||||
|
|
||||||
|
type
|
||||||
|
TNode* = object {.inheritable.}
|
||||||
|
PNode* = ref TNode
|
||||||
|
|
||||||
|
PNodeFoo* = ref object of TNode
|
||||||
|
|
||||||
|
TSomethingElse = object
|
||||||
|
PSomethingElse = ref TSomethingElse
|
||||||
|
|
||||||
|
method foo(a: PNode, b: PSomethingElse) = nil
|
||||||
|
method foo(a: PNodeFoo, b: PSomethingElse) = nil
|
||||||
|
|
||||||
var o: TObject
|
var o: TObject
|
||||||
o.somethin()
|
o.somethin()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue