Problem found by André Stein, then reduced. This D2 code used to work: import std.typecons, std.algorithm; alias Tuple!(uint) T; void main() { auto array = [T(1), T(3), T(2)]; sort(array); } But with DMD 2.052 it gives: object.Exception@src\rt\arraycat.d(40): overlapping array copy
*** This issue has been marked as a duplicate of issue 5705 ***