Maybe there should be a pragma {. expensive .} (or alternatively {. cheap .} 
which could be set on hooks and which would trigger a warning if they are 
implicitly invoked?

Also: I was reading the destructor docs in 
[https://nim-lang.github.io/Nim/destructors.html#swap](https://nim-lang.github.io/Nim/destructors.html#swap)
 says

> Objects that contain pointers that point to the same object are not supported 
> by Nim's model. Otherwise swapped objects would end up in an inconsistent 
> state.

Is this really true? Seems to me it's just not supported by the "swap" builtin 
(and that should be fixed, because self-pointing structures do happen and are 
not always immediately evident from the source code - e.g. a circular linked 
list with one element).

Reply via email to