[][src]Function pre::core::mut_pointer__impl__as_ref__

pub fn mut_pointer__impl__as_ref__()

A stub for the preconditions of the core::mut_pointer<T>::as_ref function.

What is this function?

This function was generated by an impl block inside a extern_crate attribute that looked like this:

This example is not tested
impl< T > mut_pointer < T > where T : ? Sized {
    unsafe fn as_ref < 'a > (self) -> Option < & 'a T >;
    /* other items omitted */
}

Preconditions on external functions inside of an impl block are attached to empty functions like this one. When the preconditions should be checked, a call to this function is inserted, which triggers checking the preconditions.

This function has preconditions

This function has the following preconditions generated by pre attributes:

  • the pointer self must have a proper alignment for its type
  • self is null or self is a valid for reads
  • self is null or self points to an initialized value of type T
  • the memory referenced by the returned reference is not mutated by any pointer for the duration of 'a, except inside a contained UnsafeCell

To call the function you need to assure that the preconditions hold:

This example is not tested
#[forward(impl pre::core::mut_pointer)]
#[assure(
    proper_align(self),
    reason = "<specify the reason why you can assure this here>"
)]
#[assure(
    "`self` is null or `self` is a valid for reads",
    reason = "<specify the reason why you can assure this here>"
)]
#[assure(
    "`self` is null or `self` points to an initialized value of type `T`",
    reason = "<specify the reason why you can assure this here>"
)]
#[assure(
    "the memory referenced by the returned reference is not mutated by any pointer for the duration of `\'a`, except inside a contained `UnsafeCell`",
    reason = "<specify the reason why you can assure this here>"
)]
x.as_ref(/* parameters omitted */);