[−][src]Struct chalk_solve::display::WriterState
Writer state which persists across multiple writes.
Currently, this means keeping track of what IDs have been given what names, including deduplication information.
This data is stored using interior mutability - clones will point to the same underlying data.
Uses a separate type, P, for the database stored inside to account for
Arc or wrapping other storage mediums.
Implementations
impl<I, DB: ?Sized, P> WriterState<I, DB, P> where
DB: RustIrDatabase<I>,
P: Borrow<DB>,
I: Interner, [src]
DB: RustIrDatabase<I>,
P: Borrow<DB>,
I: Interner,
Trait Implementations
impl<I, DB: ?Sized, P> Clone for WriterState<I, DB, P> where
DB: RustIrDatabase<I>,
P: Borrow<DB> + Clone,
I: Interner, [src]
DB: RustIrDatabase<I>,
P: Borrow<DB> + Clone,
I: Interner,
fn clone(&self) -> Self[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<I: Debug, DB: Debug + ?Sized, P: Debug> Debug for WriterState<I, DB, P> where
DB: RustIrDatabase<I>,
P: Borrow<DB>,
I: Interner, [src]
DB: RustIrDatabase<I>,
P: Borrow<DB>,
I: Interner,
Auto Trait Implementations
impl<I, DB: ?Sized, P> RefUnwindSafe for WriterState<I, DB, P> where
DB: RefUnwindSafe,
P: RefUnwindSafe,
DB: RefUnwindSafe,
P: RefUnwindSafe,
impl<I, DB: ?Sized, P> Send for WriterState<I, DB, P> where
DB: Send,
P: Send,
<I as Interner>::DefId: Send,
<I as Interner>::InternedAdtId: Send,
DB: Send,
P: Send,
<I as Interner>::DefId: Send,
<I as Interner>::InternedAdtId: Send,
impl<I, DB: ?Sized, P> Sync for WriterState<I, DB, P> where
DB: Sync,
P: Sync,
<I as Interner>::DefId: Send,
<I as Interner>::InternedAdtId: Send,
DB: Sync,
P: Sync,
<I as Interner>::DefId: Send,
<I as Interner>::InternedAdtId: Send,
impl<I, DB: ?Sized, P> Unpin for WriterState<I, DB, P> where
DB: Unpin,
P: Unpin,
DB: Unpin,
P: Unpin,
impl<I, DB: ?Sized, P> UnwindSafe for WriterState<I, DB, P> where
DB: UnwindSafe,
P: UnwindSafe,
DB: UnwindSafe,
P: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Cast for T[src]
fn cast<U>(self, interner: &<U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner, [src]
Self: CastTo<U>,
U: HasInterner,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,