diff --git a/src/libstd/c_vec.rs b/src/libstd/c_vec.rs index b4b4e2bf1a2..17b7bae6de5 100644 --- a/src/libstd/c_vec.rs +++ b/src/libstd/c_vec.rs @@ -78,7 +78,7 @@ fn DtorRes(dtor: Option<@fn()>) -> DtorRes { * * base - A foreign pointer to a buffer * * len - The number of elements in the buffer */ -pub fn CVec(base: *mut T, len: uint) -> CVec { +pub unsafe fn CVec(base: *mut T, len: uint) -> CVec { return CVec{ base: base, len: len, @@ -97,7 +97,7 @@ pub fn CVec(base: *mut T, len: uint) -> CVec { * * dtor - A function to run when the value is destructed, useful * for freeing the buffer, etc. */ -pub fn c_vec_with_dtor(base: *mut T, len: uint, dtor: @fn()) +pub unsafe fn c_vec_with_dtor(base: *mut T, len: uint, dtor: @fn()) -> CVec { return CVec{ base: base, @@ -138,7 +138,7 @@ pub fn set(t: CVec, ofs: uint, v: T) { pub fn len(t: CVec) -> uint { t.len } /// Returns a pointer to the first element of the vector -pub fn ptr(t: CVec) -> *mut T { t.base } +pub unsafe fn ptr(t: CVec) -> *mut T { t.base } #[cfg(test)] mod tests { @@ -191,7 +191,7 @@ mod tests { #[test] fn test_and_I_mean_it() { let cv = malloc(16u as size_t); - let p = ptr(cv); + let p = unsafe { ptr(cv) }; set(cv, 0u, 32u8); set(cv, 1u, 33u8);