While I was experimenting with some bit twiddling hacks, I noticed that DMD 2.060 compiles this, while GDC doesn't. It is not a normal error message though (translation to English by me): sudoku.d: In function »sudoku.solve«: sudoku.d:225:0: Error: non-trivial conversion on assignment int byte *__assignop1747 = D.9717; sudoku.d:225: confused by previous errors, abort It prints the line number of the function, not that of the assignment in question. Should this problem have been detected in an earlier compilation stage ? Is there some disagreement on the return type of the prefix (de/in)crement operator between DMD and GDC ?
Fixed in trunk. https://github.com/D-Programming-GDC/GDC/commit/bab24a82d7079686375a74b017752cfdfc082ffc