| 1 | use crate::fs::asyncify; |
| 2 | |
| 3 | use std::io; |
| 4 | use std::path::Path; |
| 5 | |
| 6 | /// Renames a file or directory to a new name, replacing the original file if |
| 7 | /// `to` already exists. |
| 8 | /// |
| 9 | /// This will not work if the new name is on a different mount point. |
| 10 | /// |
| 11 | /// This is an async version of [`std::fs::rename`]. |
| 12 | pub async fn rename(from: impl AsRef<Path>, to: impl AsRef<Path>) -> io::Result<()> { |
| 13 | let from: PathBuf = from.as_ref().to_owned(); |
| 14 | let to: PathBuf = to.as_ref().to_owned(); |
| 15 | |
| 16 | asyncify(move || std::fs::rename(from, to)).await |
| 17 | } |
| 18 | |