diff options
-rw-r--r-- | compiler/destroyer.nim | 4 | ||||
-rw-r--r-- | tests/destructor/tdiscard.nim | 23 | ||||
-rw-r--r-- | tests/destructor/tgcdestructors.nim | 1 |
3 files changed, 1 insertions, 27 deletions
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 |