From 00a230e5d86598f37fb2708bae97c7ab1c0ebe0e Mon Sep 17 00:00:00 2001 From: Araq Date: Fri, 8 Dec 2017 09:19:55 +0100 Subject: [PATCH] Leak detector: give more info for anon ref objects --- compiler/ccgtypes.nim | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/ccgtypes.nim b/compiler/ccgtypes.nim index 8dfb82963d..cfa2afdd95 100644 --- a/compiler/ccgtypes.nim +++ b/compiler/ccgtypes.nim @@ -968,8 +968,11 @@ proc genTypeInfoAuxBase(m: BModule; typ, origType: PType; addf(m.s[cfsTypeInit3], "$1.flags = $2;$n", [name, rope(flags)]) discard cgsym(m, "TNimType") if isDefined("nimTypeNames"): + var typename = typeToString(origType, preferName) + if typename == "ref object" and origType.skipTypes(skipPtrs).sym != nil: + typename = "anon ref object from " & $origType.skipTypes(skipPtrs).sym.info addf(m.s[cfsTypeInit3], "$1.name = $2;$n", - [name, makeCstring typeToString(origType, preferName)]) + [name, makeCstring typename]) discard cgsym(m, "nimTypeRoot") addf(m.s[cfsTypeInit3], "$1.nextType = nimTypeRoot; nimTypeRoot=&$1;$n", [name])