mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 17:34:43 +00:00
* mark user defined destructors with sfOverriden to simplify the logic * refactoring in preparation to merge liftings and generic instantiations for destructors * ast: introduce nkHiddenTryStmt for destructor generation in order to be able to optimize better the code later on * renamed 'patterns' switch to 'trmacros' as it was totally misleading before * destructors: introduce tfCheckedForDestructor flag in preparation of strict =destroy checking * test for invalid/too late destructor introductions * liftdestructors: make code robust for nimsuggest * --newruntime works for hello world again * newruntime: code generation for closures
16 lines
299 B
Nim
16 lines
299 B
Nim
discard """
|
|
joinable: false
|
|
cmd: "nim check $file"
|
|
errormsg: "cannot bind another '=destroy' to: Foo; previous declaration was constructed here implicitly: tinvalid_rebind.nim(12, 7)"
|
|
line: 14
|
|
"""
|
|
|
|
type
|
|
Foo[T] = object
|
|
|
|
proc main =
|
|
var f: Foo[int]
|
|
|
|
proc `=destroy`[T](f: var Foo[T]) =
|
|
discard
|