1use crate::fs::asyncify;
2
3use std::io;
4use std::path::{Path, PathBuf};
5
6/// Reads a symbolic link, returning the file that the link points to.
7///
8/// This is an async version of [`std::fs::read_link`].
9pub async fn read_link(path: impl AsRef<Path>) -> io::Result<PathBuf> {
10 let path: PathBuf = path.as_ref().to_owned();
11 asyncify(move || std::fs::read_link(path)).await
12}
13