Marco Leise:
Phobos:
(boxer.d):
assert (box(1) == box(cast(byte)1));
=> assert (box(1) == box(1b));
(algorithm.d):
assert(b == [ cast(ubyte) 0, cast(ubyte)2, cast(ubyte)1,
cast(ubyte)6, cast(ubyte)5], text(b));
=> assert(b == [ 0ub, 2ub, 1ub, 6ub, 5ub], text(b));
Here b is an ubyte[] of length 5. I think this works:
assert(b == [0, 2, 1, 6, 5], text(b));
Because this works:
void main() {
ubyte[] a = [1, 2];
assert(a == [1, 2]);
}
=> a = 5s;
I read that as "5 seconds" :-(
GtkD:
(Color.d and several other occurences):
_black = new Color(cast(ubyte)0,cast(ubyte)0,cast(ubyte)0);
=> _black = new Color(0ub,0ub,0ub);
This is a reduction of the Color class of GtkD:
public class Color {
this(ubyte red, ubyte green, ubyte blue) {}
}
There is no need to use those casts:
void main() {
auto _black = new Color(0, 0, 0);
}
ScintillaD:
(SciTEWin.d):
SendMessage(HwndOf(wText), CB_SETEDITSEL, 0, MAKELPARAM(0,
cast(ushort)-1));
=> SendMessage(HwndOf(wText), CB_SETEDITSEL, 0, MAKELPARAM(0,
-1us));
"cast(ushort)-1" isn't a good idiom in D. Better to write
"ushort.max".
I don't think your examples justify the increased language
complexity.
Bye,
bearophile