@Sixte; You missed my point: It seems that Nim **parameters** don't have to be specified as being owned and if not specified can handle either with the compiler causing the right behavior depending on what is provided; if it were required that the "ownedness" be specified, then one would need to provide proc overloads for all the combinations, leading to a lot of extra boilerplate code - IIRC, that is what Rust does. OTOH, storage **locations** need to be specified as owned or not and everything including use in copying/moving proc parameters must respect the "ownedness" of the source and destination.
This last is what the bug is for this one case where the source is a proc parameter when it is owned (which the compiler already knows) and the destination is not owned but the compiler is mistakenly treating it as if it were.
