From a2300c78a747124003c8415b805712aed31e4959 Mon Sep 17 00:00:00 2001 From: "C. Morgan Hamill" Date: Thu, 26 Mar 2015 14:33:08 -0400 Subject: Make `ToCString` trait use std::convert traits. Use `AsRef` instead of `AsOsStr`. --- src/database.rs | 8 ++++---- src/lib.rs | 2 +- src/utils.rs | 6 ++++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/database.rs b/src/database.rs index 9e0c001..6b0542d 100644 --- a/src/database.rs +++ b/src/database.rs @@ -25,7 +25,7 @@ pub struct Database(*mut ffi::notmuch_database_t); impl Database { pub fn create>(path: &P) -> Result { - let path = path.as_ref().to_cstring().unwrap(); + let path = path.to_cstring().unwrap(); let mut db = ptr::null_mut(); try!(unsafe { @@ -36,7 +36,7 @@ impl Database { } pub fn open>(path: &P, mode: Mode) -> Result { - let path = path.as_ref().to_cstring().unwrap(); + let path = path.to_cstring().unwrap(); let mut db = ptr::null_mut(); try!(unsafe { @@ -82,9 +82,9 @@ impl Database { } } - let path = path.as_ref().to_cstring().unwrap(); + let path = path.to_cstring().unwrap(); let backup_path = backup_path.map(|p| { - p.as_ref().to_cstring().unwrap() + p.to_cstring().unwrap() }); try!(unsafe { diff --git a/src/lib.rs b/src/lib.rs index 91c4c5f..265589e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,4 @@ -#![feature(convert, core, libc, std_misc, unsafe_destructor)] +#![feature(convert, core, libc, unsafe_destructor)] extern crate libc; #[macro_use] diff --git a/src/utils.rs b/src/utils.rs index 75a5788..ec5b5b3 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,5 +1,6 @@ use std::{ ffi, + path, str, }; @@ -18,9 +19,10 @@ pub trait ToCString { fn to_cstring(&self) -> Result; } -impl ToCString for T { +impl> ToCString for T { fn to_cstring(&self) -> Result { - self.as_os_str().to_cstring() + let path: &ffi::OsStr = self.as_ref().as_ref(); + path.to_cstring() } } -- cgit v1.2.1