pub fn new(toml_path: impl Into<Utf8PathBuf>) -> Result<Self, CargoTomlError> {
        let toml_path = toml_path.into();

        let contents = match std::fs::read_to_string(&toml_path) {
            Ok(contents) => contents,
            Err(error) => return Err(CargoTomlError::Io { toml_path, error }),
        };

        Self::new_in_memory(toml_path, contents)
    }
Creates a new instance of `HakariCargoToml` with the `Cargo.toml` located at the given path.
Reads the contents of the file off of disk.

If the path is relative, it is evaluated with respect to the current directory.

Returns an error if the file couldn't be read (other than if the file wasn't found, which
is a case handled by this struct).
tools/hakari/src/cargo_toml.rs