This commit is contained in:
Araq
2014-11-30 02:56:26 +01:00
parent c2e04abcfa
commit a1c217a2db
2 changed files with 17 additions and 0 deletions

View File

@@ -936,6 +936,10 @@ proc typeRel(c: var TCandidate, f, aOrig: PType, doBind = true): TTypeRelation =
else:
if f.sonsLen > 0 and f.sons[0].kind != tyNone:
result = typeRel(c, f.lastSon, a)
if doBind and result notin {isNone, isGeneric}:
let concrete = concreteType(c, a)
if concrete == nil: return isNone
put(c.bindings, f, concrete)
else:
result = isGeneric

View File

@@ -0,0 +1,13 @@
# bug #1684
type
BaseType {.inheritable pure.} = object
idx: int
DerivedType* {.final pure.} = object of BaseType
proc index*[Toohoo: BaseType](h: Toohoo): int {.inline.} = h.idx
proc newDerived(idx: int): DerivedType {.inline.} = DerivedType(idx: idx)
let d = newDerived(2)
assert(d.index == 2)