//go:build !windows package main import ( "io" "os" ) func moveFile(src, dst string) error { if err := os.Rename(src, dst); err == nil { return nil } else { in, err2 := os.Open(src) if err2 != nil { return err } defer in.Close() out, err2 := os.Create(dst) if err2 != nil { return err } if _, err2 := io.Copy(out, in); err2 != nil { _ = out.Close() return err2 } if err2 := out.Close(); err2 != nil { return err2 } return os.Remove(src) } } func isSharingViolation(err error) bool { _ = err return false } func removeWithRetry(path string) error { return os.Remove(path) } func renameWithRetry(oldPath, newPath string) error { return os.Rename(oldPath, newPath) }