Lines Matching refs:path
18 use std::path::{Path, PathBuf};
35 path: PathBuf, field
40 pub fn new<P: Into<PathBuf>>(root: P, path: impl AsRef<Path>) -> Result<RootedPath, Error> { in new()
45 let path = path.as_ref(); in new() localVariable
46 if !path.is_relative() { in new()
47 return Err(Error::PathNotRelative(path.to_path_buf())); in new()
49 let path = root.join(path); in new() localVariable
50 Ok(RootedPath { root, path }) in new()
58 self.path.strip_prefix(&self.root).unwrap() in rel()
62 self.path.as_path() in abs()
65 pub fn join(&self, path: impl AsRef<Path>) -> Result<RootedPath, Error> { in join()
66 let path = path.as_ref(); in join() localVariable
67 if !path.is_relative() { in join()
68 return Err(Error::PathNotRelative(path.to_path_buf())); in join()
70 Ok(RootedPath { root: self.root.clone(), path: self.path.join(path) }) in join()
73 pub fn with_same_root(&self, path: impl AsRef<Path>) -> Result<RootedPath, Error> { in with_same_root()
74 RootedPath::new(self.root.clone(), path) in with_same_root()
92 val.path in from()
125 let path = p.as_ref(); in test_conversion() localVariable
126 assert_eq!(path, Path::new("/foo/bar")); in test_conversion()