pub fn rename<P, Q>(from: P, to: Q) -> Result<()> where
    P: AsRef<Path>,
    Q: AsRef<Path>,