Skip to main content

Never

Struct Never 

Source
pub struct Never;
Expand description

An implementation of object access traits that stores nothing and finds nothing. Use Never::panic_on_access() to panic on object access instead.

Implementations§

Source§

impl Never

Source

pub const fn panic_on_access() -> PanicAlways

Return an implementation that panics whenever an object access trait method is called. Useful for asserting that an operation does not access the object database.

Trait Implementations§

Source§

impl Clone for Never

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Never

Source§

impl Debug for Never

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Exists for Never

Source§

fn exists(&self, _id: &oid) -> bool

Returns true if the object exists in the database.
Source§

impl Find for Never

Source§

fn try_find<'a>( &self, _id: &oid, _buffer: &'a mut Vec<u8>, ) -> ExnResult<Option<Data<'a>>>

Find an object matching id in the database while placing its raw, possibly encoded data into buffer. Read more
Source§

impl Header for Never

Source§

fn try_header(&self, _id: &oid) -> ExnResult<Option<Header>>

Find the header of the object matching id in the database. Read more
Source§

impl Write for Never

Source§

fn write_buf(&self, object: Kind, from: &[u8]) -> ExnResult<ObjectId>

As write, but takes an object kind along with its encoded bytes.
Source§

fn write_buf_with_known_id( &self, _object: Kind, _from: &[u8], id: ObjectId, ) -> ExnResult<ObjectId>

As write_buf, but the object id has already been computed by the caller. Read more
Source§

fn write_stream( &self, kind: Kind, size: u64, from: &mut dyn Read, ) -> ExnResult<ObjectId>

As write, but takes an input stream. This is commonly used for writing blobs directly without reading them to memory first.
Source§

fn write_stream_with_known_id( &self, _kind: Kind, size: u64, from: &mut dyn Read, id: ObjectId, ) -> ExnResult<ObjectId>

As write_stream, but the object id has already been computed by the caller. Read more
Source§

fn write(&self, object: &dyn WriteTo) -> ExnResult<ObjectId>

Write objects using the intrinsic kind of hash into the database, returning id to reference it in subsequent reads.

Auto Trait Implementations§

§

impl Freeze for Never

§

impl RefUnwindSafe for Never

§

impl Send for Never

§

impl Sync for Never

§

impl Unpin for Never

§

impl UnsafeUnpin for Never

§

impl UnwindSafe for Never

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> FindExt for T
where T: Find + ?Sized,

Source§

fn find<'a>(&self, id: &oid, buffer: &'a mut Vec<u8>) -> ExnResult<Data<'a>>

Like try_find(…), but flattens the Result<Option<_>> into a single Result making a non-existing object an error.
Source§

fn find_blob<'a>( &self, id: &oid, buffer: &'a mut Vec<u8>, ) -> ExnResult<BlobRef<'a>>

Like find(…), but flattens the Result<Option<_>> into a single Result making a non-existing object an error while returning the desired object type.
Source§

fn find_tree<'a>( &self, id: &oid, buffer: &'a mut Vec<u8>, ) -> ExnResult<TreeRef<'a>>

Like find(…), but flattens the Result<Option<_>> into a single Result making a non-existing object an error while returning the desired object type.
Source§

fn find_commit<'a>( &self, id: &oid, buffer: &'a mut Vec<u8>, ) -> ExnResult<CommitRef<'a>>

Like find(…), but flattens the Result<Option<_>> into a single Result making a non-existing object an error while returning the desired object type.
Source§

fn find_tag<'a>( &self, id: &oid, buffer: &'a mut Vec<u8>, ) -> ExnResult<TagRef<'a>>

Like find(…), but flattens the Result<Option<_>> into a single Result making a non-existing object an error while returning the desired object type.
Source§

fn find_commit_iter<'a>( &self, id: &oid, buffer: &'a mut Vec<u8>, ) -> ExnResult<CommitRefIter<'a>>

Like find(…), but flattens the Result<Option<_>> into a single Result making a non-existing object an error while returning the desired iterator type.
Source§

fn find_tree_iter<'a>( &self, id: &oid, buffer: &'a mut Vec<u8>, ) -> ExnResult<TreeRefIter<'a>>

Like find(…), but flattens the Result<Option<_>> into a single Result making a non-existing object an error while returning the desired iterator type.
Source§

fn find_tag_iter<'a>( &self, id: &oid, buffer: &'a mut Vec<u8>, ) -> ExnResult<TagRefIter<'a>>

Like find(…), but flattens the Result<Option<_>> into a single Result making a non-existing object an error while returning the desired iterator type.
Source§

impl<T> FindObjectOrHeader for T
where T: Find + Header,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.