[−][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,
pub fn clone(&self) -> Self
[src]
pub 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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Cast for T
[src]
pub 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> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[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.
pub fn to_owned(&self) -> T
[src]
pub 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.
pub 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>,