[−][src]Trait core_extensions::marker_traits::MarkerType
Represents a zero-sized marker type .
Types implementing this trait are zero-sized and can safely be stored in any
#[repr(C)]
type without changing their layout.
Safety
Implementors of this trait must ensure:
-that the type is zero-sized,
-that it has an alignment of 1.
-that the type is trivially constructible,eg:by implementing ::std::default::Default.
The easiest way to enforce the requirements of being zero-sized and having an alignment of 1 is to have structs composed entirely of MarkerType fields (ie:VariantPhantom , PhantomData , () ).
Associated Constants
const MTVAL: Self
The value of Self.
Provided methods
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
Self: 'a,
Constructs a reference to Self, this is possible because all references to zero sized types are valid.
fn markertype_val() -> Self
Constructs Self,this is possible because Self implements MarkerType.
Implementations on Foreign Types
impl<T: ?Sized> MarkerType for PhantomData<T>
[src]
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl MarkerType for ()
[src]
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 0] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 1] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 2] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 3] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 4] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 5] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 6] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 7] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 8] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 9] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 10] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 11] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 12] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 13] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 14] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 15] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 16] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 17] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 18] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 19] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 20] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 21] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 22] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 23] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 24] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 25] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 26] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 27] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 28] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 29] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 30] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 31] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<T> MarkerType for [T; 32] where
T: MarkerType,
[src]
T: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A> MarkerType for (A,) where
A: MarkerType,
[src]
A: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B> MarkerType for (A, B) where
A: MarkerType,
B: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C> MarkerType for (A, B, C) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C, D> MarkerType for (A, B, C, D) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C, D, E> MarkerType for (A, B, C, D, E) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C, D, E, F> MarkerType for (A, B, C, D, E, F) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C, D, E, F, G> MarkerType for (A, B, C, D, E, F, G) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C, D, E, F, G, H> MarkerType for (A, B, C, D, E, F, G, H) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C, D, E, F, G, H, I> MarkerType for (A, B, C, D, E, F, G, H, I) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C, D, E, F, G, H, I, J> MarkerType for (A, B, C, D, E, F, G, H, I, J) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C, D, E, F, G, H, I, J, K> MarkerType for (A, B, C, D, E, F, G, H, I, J, K) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
K: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
K: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C, D, E, F, G, H, I, J, K, L> MarkerType for (A, B, C, D, E, F, G, H, I, J, K, L) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
K: MarkerType,
L: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
K: MarkerType,
L: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C, D, E, F, G, H, I, J, K, L, M> MarkerType for (A, B, C, D, E, F, G, H, I, J, K, L, M) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
K: MarkerType,
L: MarkerType,
M: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
K: MarkerType,
L: MarkerType,
M: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> MarkerType for (A, B, C, D, E, F, G, H, I, J, K, L, M, N) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
K: MarkerType,
L: MarkerType,
M: MarkerType,
N: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
K: MarkerType,
L: MarkerType,
M: MarkerType,
N: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> MarkerType for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
K: MarkerType,
L: MarkerType,
M: MarkerType,
N: MarkerType,
O: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
K: MarkerType,
L: MarkerType,
M: MarkerType,
N: MarkerType,
O: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> MarkerType for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) where
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
K: MarkerType,
L: MarkerType,
M: MarkerType,
N: MarkerType,
O: MarkerType,
P: MarkerType,
[src]
A: MarkerType,
B: MarkerType,
C: MarkerType,
D: MarkerType,
E: MarkerType,
F: MarkerType,
G: MarkerType,
H: MarkerType,
I: MarkerType,
J: MarkerType,
K: MarkerType,
L: MarkerType,
M: MarkerType,
N: MarkerType,
O: MarkerType,
P: MarkerType,
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
Implementors
impl MarkerType for False
[src]
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,
fn markertype_val() -> Self
[src]
impl MarkerType for True
[src]
const MTVAL: Self
[src]
fn markertype_ref<'a>() -> &'a Self where
Self: 'a,
[src]
Self: 'a,