pub trait SourceRead {
// Required methods
fn working_dir(&self) -> &Path;
fn base_dir(&self) -> Option<&Path>;
fn read_file(&self, path: &Path) -> Result<String>;
fn read_dir(&self, path: &Path) -> Result<Vec<PathBuf>>;
fn is_file(&self, path: &Path) -> bool;
fn is_dir(&self, path: &Path) -> bool;
fn canonicalize_import(&self, key: &ImportKey) -> Result<(PathBuf, String)>;
}