pub trait PointInput: ParseInput {
type Extra: 'static + Clone;
type WithExtra<E: 'static + Clone>: PointInput<Extra = E, WithExtra<Self::Extra> = Self>;
// Required methods
fn next_index(&mut self) -> usize;
fn resolve_arc_ref(&self) -> &Arc<dyn Resolve>;
fn extra(&self) -> &Self::Extra;
fn map_extra<E: 'static + Clone>(
self,
f: impl FnOnce(&Self::Extra) -> &E,
) -> Self::WithExtra<E>;
// Provided methods
fn resolve(&self) -> Arc<dyn Resolve> { ... }
fn resolve_ref(&self) -> &dyn Resolve { ... }
fn extension<T: Any>(&self) -> Result<&T> { ... }
}Required Associated Types§
type Extra: 'static + Clone
type WithExtra<E: 'static + Clone>: PointInput<Extra = E, WithExtra<Self::Extra> = Self>
Required Methods§
fn next_index(&mut self) -> usize
fn resolve_arc_ref(&self) -> &Arc<dyn Resolve>
fn extra(&self) -> &Self::Extra
fn map_extra<E: 'static + Clone>( self, f: impl FnOnce(&Self::Extra) -> &E, ) -> Self::WithExtra<E>
Provided Methods§
fn resolve(&self) -> Arc<dyn Resolve>
fn resolve_ref(&self) -> &dyn Resolve
fn extension<T: Any>(&self) -> Result<&T>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.