On windows std.file.rename calls MoveFileExW, which will not move files from once device to another unless the MOVEFILE_COPY_ALLOWED flag is set.
Since the cstdio function with the same name doesn't have this limitation, and it's not documented, it seems accidental.