From 5dea7c5ad7bdd0f410e2c1ff0bf46e18d4284e56 Mon Sep 17 00:00:00 2001 From: cooldome Date: Fri, 15 Mar 2019 12:49:32 +0000 Subject: [PATCH] revert discard in destroyer (#10840) * revert discard in destroyer * disable test --- compiler/destroyer.nim | 4 ---- tests/destructor/tdiscard.nim | 23 ----------------------- tests/destructor/tgcdestructors.nim | 1 + 3 files changed, 1 insertion(+), 27 deletions(-) delete mode 100644 tests/destructor/tdiscard.nim diff --git a/compiler/destroyer.nim b/compiler/destroyer.nim index 8821e789c..0854e3e44 100644 --- a/compiler/destroyer.nim +++ b/compiler/destroyer.nim @@ -697,10 +697,6 @@ proc p(n: PNode; c: var Con): PNode = of nkNone..nkNilLit, nkTypeSection, nkProcDef, nkConverterDef, nkMethodDef, nkIteratorDef, nkMacroDef, nkTemplateDef, nkLambda, nkDo, nkFuncDef: result = n - of nkDiscardStmt: - result = n - if n[0].typ != nil and hasDestructor(n[0].typ): - result = genDestroy(c, n[0].typ, n[0]) of nkCast, nkHiddenStdConv, nkHiddenSubConv, nkConv: result = copyNode(n) # Destination type diff --git a/tests/destructor/tdiscard.nim b/tests/destructor/tdiscard.nim deleted file mode 100644 index 57b5ecb9b..000000000 --- a/tests/destructor/tdiscard.nim +++ /dev/null @@ -1,23 +0,0 @@ -discard """ -joinable: false -target: "C" -""" - -type - O = object - -var dCalls = 0 - -proc `=destroy`(x: var O) = inc dCalls -proc `=sink`(x: var O, y: O) = doAssert false - -proc newO(): O = discard - -proc main() = - doAssert dCalls == 0 - discard newO() - doAssert dCalls == 1 - discard newO() - doAssert dCalls == 2 - -main() diff --git a/tests/destructor/tgcdestructors.nim b/tests/destructor/tgcdestructors.nim index f83007470..daf1925ec 100644 --- a/tests/destructor/tgcdestructors.nim +++ b/tests/destructor/tgcdestructors.nim @@ -1,4 +1,5 @@ discard """ + disabled: true cmd: '''nim c --gc:destructors $file''' output: '''hi ho