Trait View
pub trait View {
type V;
// Required method
fn view(&self) -> Self::V;
}Expand description
Types used in executable code can implement View to provide a mathematical abstraction of the type. For example, Vec implements a view method that returns a Seq. For base types like bool and u8, the view V of the type is the type itself. Types only used in ghost code, such as int, nat, and Seq, do not need to implement View.
Required Associated Types§
type V
Required Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
§impl<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> View for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
impl<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> View for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
type V = (<A0 as View>::V, <A1 as View>::V, <A2 as View>::V, <A3 as View>::V, <A4 as View>::V, <A5 as View>::V, <A6 as View>::V, <A7 as View>::V, <A8 as View>::V, <A9 as View>::V, <A10 as View>::V, <A11 as View>::V)
fn view( &self, ) -> (<A0 as View>::V, <A1 as View>::V, <A2 as View>::V, <A3 as View>::V, <A4 as View>::V, <A5 as View>::V, <A6 as View>::V, <A7 as View>::V, <A8 as View>::V, <A9 as View>::V, <A10 as View>::V, <A11 as View>::V)
§impl<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> View for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
impl<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> View for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
type V = (<A0 as View>::V, <A1 as View>::V, <A2 as View>::V, <A3 as View>::V, <A4 as View>::V, <A5 as View>::V, <A6 as View>::V, <A7 as View>::V, <A8 as View>::V, <A9 as View>::V, <A10 as View>::V)
fn view( &self, ) -> (<A0 as View>::V, <A1 as View>::V, <A2 as View>::V, <A3 as View>::V, <A4 as View>::V, <A5 as View>::V, <A6 as View>::V, <A7 as View>::V, <A8 as View>::V, <A9 as View>::V, <A10 as View>::V)
§impl<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> View for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9)
impl<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> View for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9)
type V = (<A0 as View>::V, <A1 as View>::V, <A2 as View>::V, <A3 as View>::V, <A4 as View>::V, <A5 as View>::V, <A6 as View>::V, <A7 as View>::V, <A8 as View>::V, <A9 as View>::V)
fn view( &self, ) -> (<A0 as View>::V, <A1 as View>::V, <A2 as View>::V, <A3 as View>::V, <A4 as View>::V, <A5 as View>::V, <A6 as View>::V, <A7 as View>::V, <A8 as View>::V, <A9 as View>::V)
§impl<A0, A1, A2, A3, A4, A5, A6, A7, A8> View for (A0, A1, A2, A3, A4, A5, A6, A7, A8)
impl<A0, A1, A2, A3, A4, A5, A6, A7, A8> View for (A0, A1, A2, A3, A4, A5, A6, A7, A8)
type V = (<A0 as View>::V, <A1 as View>::V, <A2 as View>::V, <A3 as View>::V, <A4 as View>::V, <A5 as View>::V, <A6 as View>::V, <A7 as View>::V, <A8 as View>::V)
fn view( &self, ) -> (<A0 as View>::V, <A1 as View>::V, <A2 as View>::V, <A3 as View>::V, <A4 as View>::V, <A5 as View>::V, <A6 as View>::V, <A7 as View>::V, <A8 as View>::V)
§impl<A0, A1, A2, A3, A4, A5, A6, A7> View for (A0, A1, A2, A3, A4, A5, A6, A7)
impl<A0, A1, A2, A3, A4, A5, A6, A7> View for (A0, A1, A2, A3, A4, A5, A6, A7)
type V = (<A0 as View>::V, <A1 as View>::V, <A2 as View>::V, <A3 as View>::V, <A4 as View>::V, <A5 as View>::V, <A6 as View>::V, <A7 as View>::V)
fn view( &self, ) -> (<A0 as View>::V, <A1 as View>::V, <A2 as View>::V, <A3 as View>::V, <A4 as View>::V, <A5 as View>::V, <A6 as View>::V, <A7 as View>::V)
§impl<A0, A1, A2, A3, A4, A5, A6> View for (A0, A1, A2, A3, A4, A5, A6)
impl<A0, A1, A2, A3, A4, A5, A6> View for (A0, A1, A2, A3, A4, A5, A6)
§impl<A0, A1, A2, A3, A4, A5> View for (A0, A1, A2, A3, A4, A5)
impl<A0, A1, A2, A3, A4, A5> View for (A0, A1, A2, A3, A4, A5)
§impl<A0, A1, A2, A3, A4> View for (A0, A1, A2, A3, A4)
impl<A0, A1, A2, A3, A4> View for (A0, A1, A2, A3, A4)
§impl<A0, A1, A2, A3> View for (A0, A1, A2, A3)
impl<A0, A1, A2, A3> View for (A0, A1, A2, A3)
§impl<A0, A1, A2> View for (A0, A1, A2)
impl<A0, A1, A2> View for (A0, A1, A2)
§impl<Idx> View for RangeInclusive<Idx>
impl<Idx> View for RangeInclusive<Idx>
§impl<Key, S, A> View for HashSet<Key, S, A>where
A: Allocator,
Available on crate feature alloc and crate feature std and (verus_keep_ghost or crate feature allocator) only.
impl<Key, S, A> View for HashSet<Key, S, A>where
A: Allocator,
Available on crate feature
alloc and crate feature std and (verus_keep_ghost or crate feature allocator) only.§impl<Key, Value, S, A> View for HashMap<Key, Value, S, A>where
A: Allocator,
Available on crate feature alloc and crate feature std and (verus_keep_ghost or crate feature allocator) only.
impl<Key, Value, S, A> View for HashMap<Key, Value, S, A>where
A: Allocator,
Available on crate feature
alloc and crate feature std and (verus_keep_ghost or crate feature allocator) only.§impl<T, A> View for Vec<T, A>where
A: Allocator,
Available on crate feature alloc and (verus_keep_ghost or crate feature allocator) only.
impl<T, A> View for Vec<T, A>where
A: Allocator,
Available on crate feature
alloc and (verus_keep_ghost or crate feature allocator) only.