diff --git a/rust-bindings/rust/libostree/src/repo.rs b/rust-bindings/rust/libostree/src/repo.rs index 272c9002..4b887b2f 100644 --- a/rust-bindings/rust/libostree/src/repo.rs +++ b/rust-bindings/rust/libostree/src/repo.rs @@ -8,6 +8,7 @@ use glib::translate::*; use glib_ffi; use std::collections::HashSet; use std::ptr; +use std::path::Path; use ObjectName; unsafe extern "C" fn read_variant_table(_key: glib_ffi::gpointer, value: glib_ffi::gpointer, hash_set: glib_ffi::gpointer) { @@ -27,7 +28,7 @@ unsafe fn from_glib_container_variant_set(ptr: *mut glib_ffi::GHashTable) -> Has pub trait RepoExtManual { - fn new_for_str(path: &str) -> Repo; + fn new_for_path>(path: P) -> Repo; fn traverse_commit<'a, P: Into>>( &self, commit_checksum: &str, @@ -36,8 +37,8 @@ pub trait RepoExtManual { } impl + IsA + Clone + 'static> RepoExtManual for O { - fn new_for_str(path: &str) -> Repo { - Repo::new(&gio::File::new_for_path(path)) + fn new_for_path>(path: P) -> Repo { + Repo::new(&gio::File::new_for_path(path.as_ref())) } fn traverse_commit<'a, P: Into>>( diff --git a/rust-bindings/rust/sample/src/main.rs b/rust-bindings/rust/sample/src/main.rs index a42d52ac..8e1ef5b8 100644 --- a/rust-bindings/rust/sample/src/main.rs +++ b/rust-bindings/rust/sample/src/main.rs @@ -8,7 +8,7 @@ use gio::prelude::*; use libostree::prelude::*; fn main() { - let repo = libostree::Repo::new_for_str("../../../repo-bare"); + let repo = libostree::Repo::new_for_path("../../../repo-bare"); //let result = repo.create(libostree::RepoMode::Archive, Option::None); //result.expect("we did not expect this to fail :O");