diff --git a/compiler/cgmeth.nim b/compiler/cgmeth.nim index 3c2c51b76a..de26a43904 100644 --- a/compiler/cgmeth.nim +++ b/compiler/cgmeth.nim @@ -18,7 +18,12 @@ proc genConv(n: PNode, d: PType, downcast: bool): PNode = var source = skipTypes(n.typ, abstractPtrs) if (source.kind == tyObject) and (dest.kind == tyObject): var diff = inheritanceDiff(dest, source) - if diff == high(int): internalError(n.info, "cgmeth.genConv") + if diff == high(int): + # see bug #3550 which triggers it. XXX This is a hack but I don't know yet + # how the real fix looks like: + localError(n.info, "there is no subtype relation between " & + typeToString(d) & " and " & typeToString(n.typ)) + #internalError(n.info, "cgmeth.genConv") if diff < 0: result = newNodeIT(nkObjUpConv, n.info, d) addSon(result, n) diff --git a/todo.txt b/todo.txt index 62ffdbd8ad..afc3776a6d 100644 --- a/todo.txt +++ b/todo.txt @@ -1,7 +1,7 @@ essential for 1.0 ================= -- document special cased varargs[untyped] and varargs[typed] +- introduce newSeqOfCap(10) - The remaining bugs of the lambda lifting pass that is responsible to enable closures and closure iterators need to be fixed. - ``concept`` needs to be refined, a nice name for the feature is not enough.