pub fn from_project(project: &Project) -> Result<Roots, std::io::Error> {
        Ok(Roots {
            root_dir: project.gc_root_path()?,
            id: project.hash(),
        })
    }
// TODO: all use-cases are from_project; just save a reference to a project?
/// Construct a Roots struct based on a project's GC root directory
/// and ID.
all use-cases are from_project; just save a reference to a project.
Construct a Roots struct based on a project's GC root directory
and ID.
all use - cases are from_project ; just save a reference to a project . Construct a Roots struct based on a project ' s GC root directory and ID .
pub fn from_project(project: &Project) -> Result<Roots, std::io::Error> {
        Ok(Roots {
            root_dir: project.gc_root_path()?,
            id: project.hash(),
        })
    }
pub fn from_project ( project : & Project ) -> Result < Roots , std :: io :: Error > { Ok ( Roots { root_dir : project . gc_root_path ( ) ? , id : project . hash ( ) , } ) }
TODO: all use-cases are from_project; just save a reference to a project?
TODO : all use - cases are from_project ; just save a reference to a project?
project
&Project
project
&Project