[][src]Struct glib::translate::Borrowed

pub struct Borrowed<T>(_);

Wrapper around values representing borrowed C memory.

This is returned by from_glib_borrow() and ensures that the wrapped value is never dropped when going out of scope.

Borrowed values must never be passed by value or mutable reference to safe Rust code and must not leave the C scope in which they are valid.


impl<T> Borrowed<T>[src]

pub fn new(val: T) -> Self[src]

Creates a new borrowed value.

pub unsafe fn into_inner(self) -> T[src]

Extracts the contained value.


The returned value must never be dropped and instead has to be passed to mem::forget() or be directly wrapped in mem::ManuallyDrop or another Borrowed wrapper.

Trait Implementations

impl<T> AsRef<T> for Borrowed<T>[src]

impl<T: Debug> Debug for Borrowed<T>[src]

impl<T> Deref for Borrowed<T>[src]

type Target = T

The resulting type after dereferencing.

Auto Trait Implementations

impl<T> RefUnwindSafe for Borrowed<T> where
    T: RefUnwindSafe

impl<T> Send for Borrowed<T> where
    T: Send

impl<T> Sync for Borrowed<T> where
    T: Sync

impl<T> Unpin for Borrowed<T> where
    T: Unpin

impl<T> UnwindSafe for Borrowed<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.