Note that in addition, the ! form would also be the one to use for: void[] p; T[] q = cast!(T[])p; So it's not /just/ removal of const that "danger cast" is for. It's also for casting from void to non-void. For that reason, calling it "break const" would be highly counterintuitive.