cast(T)x
делает несколько типов преобразований, как это гарантировано языком. К ним относятся:
- динамическое приведение типов между классами / интерфейсами, предоставляемыми средой выполнения
- приведение числового типа, например, двойное к короткому
- приведение типа массива, например, int [] в ubyte []
- принудительное преобразование
alias this
, которое в противном случае не было бы принудительным
- системные преобразования типа, особенно вокруг
const
и shared
to!T(x)
выполняет ряд других преобразований, особенно в строки и из строк.