1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
use crate::hash::Hash; use std::any::TypeId; /// The type of an entry. #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] pub enum ValueType { /// An value indicating nothing. Unit, /// A string. String, /// An array of dynamic values. Array, /// An object of dynamic values. Object, /// A number. Integer, /// A float. Float, /// A boolean. Bool, /// A character. Char, /// Reference to a foreign type. External(TypeId), /// The type of type values. Type, /// A pointer to a value on the stack. Ptr, /// A function pointer. Fn(Hash), } #[cfg(test)] mod tests { use super::ValueType; #[test] fn test_size() { assert_eq! { std::mem::size_of::<ValueType>(), 16, }; } }