On Wednesday, 2 June 2021 at 15:32:38 UTC, Sean wrote:
...
You can implement deep copy using template recursion: import std; T[] rdup(T : U[], U)(T[] duped) { return duped.map!(arr => arr.rdup).array; } T[] rdup(T)(T[] duped) { return duped.dup; } void main() { int[][][] dupeable = [[[1], [2]], [[3]]]; auto duped = dupeable.rdup; duped[0][0][0] = 9; writeln("Hello D-eep copy of ", dupeable, " to ", duped); } Best regards, Alexandru.