Plain

Trait Plain 

Source
pub trait Plain: Copy { }
Expand description

A marker trait for types that can be extracted from snapshots in ghost code. These are type that only contain plain data and whose onership does not convey any additional information.

For example, Booleans and integers are plain, but references are not, be they mutable or not. Indeed, the ownership of a shared reference can be used to deduce facts, for example with PtrOwn::disjoint_lemma.

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.

Implementations on Foreign Types§

Source§

impl Plain for bool

Source§

impl Plain for char

Source§

impl Plain for i8

Source§

impl Plain for i16

Source§

impl Plain for i32

Source§

impl Plain for i64

Source§

impl Plain for i128

Source§

impl Plain for isize

Source§

impl Plain for u8

Source§

impl Plain for u16

Source§

impl Plain for u32

Source§

impl Plain for u64

Source§

impl Plain for u128

Source§

impl Plain for usize

Source§

impl<T> Plain for *const T

Source§

impl<T> Plain for *mut T

Implementors§

Source§

impl Plain for Id

Source§

impl Plain for Int

Source§

impl<T: Plain> Plain for Seq<T>