Trait ValidCheck

Source
pub unsafe trait ValidCheck<P> {
    const ALWAYS_VALID: bool = false;

    // Provided method
    fn is_valid(_input: P) -> bool { ... }
}
Expand description

Check whether the underlying bits are valid

The type implementing this trait checks if the value stored in a bit representation of type P is a valid representation of this type. The enums macro implements this type for all of the integer-byte-width types from this crate.

§Safety

The ValidCheck::is_valid function must be correctly implemented or else other functions in this crate won’t work correctly. Implementation of this trait is preferably done by public macros in this crate, which will implement it correctly.

Provided Associated Constants§

Source

const ALWAYS_VALID: bool = false

Set this to true if, at compile-time, we can tell that all bit representations which contain the appropriate number of bits are valid representations of this type

Provided Methods§

Source

fn is_valid(_input: P) -> bool

Return whether or not the underlying bits of P are valid representation of this type

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<P> ValidCheck<P> for bool

Source§

impl<P> ValidCheck<P> for i8

Source§

impl<P> ValidCheck<P> for i16

Source§

impl<P> ValidCheck<P> for i32

Source§

impl<P> ValidCheck<P> for i64

Source§

impl<P> ValidCheck<P> for i128

Source§

impl<P> ValidCheck<P> for u8

Source§

impl<P> ValidCheck<P> for u16

Source§

impl<P> ValidCheck<P> for u32

Source§

impl<P> ValidCheck<P> for u64

Source§

impl<P> ValidCheck<P> for u128

Implementors§

Source§

impl<P> ValidCheck<P> for i2

Source§

impl<P> ValidCheck<P> for i3

Source§

impl<P> ValidCheck<P> for i4

Source§

impl<P> ValidCheck<P> for i5

Source§

impl<P> ValidCheck<P> for i6

Source§

impl<P> ValidCheck<P> for i7

Source§

impl<P> ValidCheck<P> for i9

Source§

impl<P> ValidCheck<P> for i10

Source§

impl<P> ValidCheck<P> for i11

Source§

impl<P> ValidCheck<P> for i12

Source§

impl<P> ValidCheck<P> for i13

Source§

impl<P> ValidCheck<P> for i14

Source§

impl<P> ValidCheck<P> for i15

Source§

impl<P> ValidCheck<P> for i17

Source§

impl<P> ValidCheck<P> for i18

Source§

impl<P> ValidCheck<P> for i19

Source§

impl<P> ValidCheck<P> for i20

Source§

impl<P> ValidCheck<P> for i21

Source§

impl<P> ValidCheck<P> for i22

Source§

impl<P> ValidCheck<P> for i23

Source§

impl<P> ValidCheck<P> for i24

Source§

impl<P> ValidCheck<P> for i25

Source§

impl<P> ValidCheck<P> for i26

Source§

impl<P> ValidCheck<P> for i27

Source§

impl<P> ValidCheck<P> for i28

Source§

impl<P> ValidCheck<P> for i29

Source§

impl<P> ValidCheck<P> for i30

Source§

impl<P> ValidCheck<P> for i31

Source§

impl<P> ValidCheck<P> for i33

Source§

impl<P> ValidCheck<P> for i34

Source§

impl<P> ValidCheck<P> for i35

Source§

impl<P> ValidCheck<P> for i36

Source§

impl<P> ValidCheck<P> for i37

Source§

impl<P> ValidCheck<P> for i38

Source§

impl<P> ValidCheck<P> for i39

Source§

impl<P> ValidCheck<P> for i40

Source§

impl<P> ValidCheck<P> for i41

Source§

impl<P> ValidCheck<P> for i42

Source§

impl<P> ValidCheck<P> for i43

Source§

impl<P> ValidCheck<P> for i44

Source§

impl<P> ValidCheck<P> for i45

Source§

impl<P> ValidCheck<P> for i46

Source§

impl<P> ValidCheck<P> for i47

Source§

impl<P> ValidCheck<P> for i48

Source§

impl<P> ValidCheck<P> for i49

Source§

impl<P> ValidCheck<P> for i50

Source§

impl<P> ValidCheck<P> for i51

Source§

impl<P> ValidCheck<P> for i52

Source§

impl<P> ValidCheck<P> for i53

Source§

impl<P> ValidCheck<P> for i54

Source§

impl<P> ValidCheck<P> for i55

Source§

impl<P> ValidCheck<P> for i56

Source§

impl<P> ValidCheck<P> for i57

Source§

impl<P> ValidCheck<P> for i58

Source§

impl<P> ValidCheck<P> for i59

Source§

impl<P> ValidCheck<P> for i60

Source§

impl<P> ValidCheck<P> for i61

Source§

impl<P> ValidCheck<P> for i62

Source§

impl<P> ValidCheck<P> for i63

Source§

impl<P> ValidCheck<P> for u1

Source§

impl<P> ValidCheck<P> for u2

Source§

impl<P> ValidCheck<P> for u3

Source§

impl<P> ValidCheck<P> for u4

Source§

impl<P> ValidCheck<P> for u5

Source§

impl<P> ValidCheck<P> for u6

Source§

impl<P> ValidCheck<P> for u7

Source§

impl<P> ValidCheck<P> for u9

Source§

impl<P> ValidCheck<P> for u10

Source§

impl<P> ValidCheck<P> for u11

Source§

impl<P> ValidCheck<P> for u12

Source§

impl<P> ValidCheck<P> for u13

Source§

impl<P> ValidCheck<P> for u14

Source§

impl<P> ValidCheck<P> for u15

Source§

impl<P> ValidCheck<P> for u17

Source§

impl<P> ValidCheck<P> for u18

Source§

impl<P> ValidCheck<P> for u19

Source§

impl<P> ValidCheck<P> for u20

Source§

impl<P> ValidCheck<P> for u21

Source§

impl<P> ValidCheck<P> for u22

Source§

impl<P> ValidCheck<P> for u23

Source§

impl<P> ValidCheck<P> for u24

Source§

impl<P> ValidCheck<P> for u25

Source§

impl<P> ValidCheck<P> for u26

Source§

impl<P> ValidCheck<P> for u27

Source§

impl<P> ValidCheck<P> for u28

Source§

impl<P> ValidCheck<P> for u29

Source§

impl<P> ValidCheck<P> for u30

Source§

impl<P> ValidCheck<P> for u31

Source§

impl<P> ValidCheck<P> for u33

Source§

impl<P> ValidCheck<P> for u34

Source§

impl<P> ValidCheck<P> for u35

Source§

impl<P> ValidCheck<P> for u36

Source§

impl<P> ValidCheck<P> for u37

Source§

impl<P> ValidCheck<P> for u38

Source§

impl<P> ValidCheck<P> for u39

Source§

impl<P> ValidCheck<P> for u40

Source§

impl<P> ValidCheck<P> for u41

Source§

impl<P> ValidCheck<P> for u42

Source§

impl<P> ValidCheck<P> for u43

Source§

impl<P> ValidCheck<P> for u44

Source§

impl<P> ValidCheck<P> for u45

Source§

impl<P> ValidCheck<P> for u46

Source§

impl<P> ValidCheck<P> for u47

Source§

impl<P> ValidCheck<P> for u48

Source§

impl<P> ValidCheck<P> for u49

Source§

impl<P> ValidCheck<P> for u50

Source§

impl<P> ValidCheck<P> for u51

Source§

impl<P> ValidCheck<P> for u52

Source§

impl<P> ValidCheck<P> for u53

Source§

impl<P> ValidCheck<P> for u54

Source§

impl<P> ValidCheck<P> for u55

Source§

impl<P> ValidCheck<P> for u56

Source§

impl<P> ValidCheck<P> for u57

Source§

impl<P> ValidCheck<P> for u58

Source§

impl<P> ValidCheck<P> for u59

Source§

impl<P> ValidCheck<P> for u60

Source§

impl<P> ValidCheck<P> for u61

Source§

impl<P> ValidCheck<P> for u62

Source§

impl<P> ValidCheck<P> for u63