https://issues.dlang.org/show_bug.cgi?id=21109
Simen Kjaeraas <simen.kja...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |simen.kja...@gmail.com --- Comment #7 from Simen Kjaeraas <simen.kja...@gmail.com> --- We can reduce this issue down to this code: struct S { int[] arr; } unittest { import std.stdio; foreach (idx; 0 .. 10) { writeln([S([0])] < [S([0])]); } } I'm not convinced that being able to compare two arrays like this should be possible at all - the rule that for any T where T.init < T.init does not compile, [T.init] < [T.init] should not compile seems sensible to me. If we need it to work, it should definitely do a member-by-member comparison. Not least, this should be documented. --