Trait FromMapKey

Source
pub trait FromMapKey:
    FromValue
    + Eq
    + Hash
    + Ord
where for<'a> Self::Output<'a>: Eq + Hash + Ord,
{ // Required method fn from_mapkey<'a>( key: &'a MapKey, ) -> Result<Self::Output<'a>, FromMapKeyError>; }
Expand description

Trait for converting CEL map keys into Rust types.

FromMapKey provides conversion from CEL MapKey instances to Rust types. This is the inverse operation of IntoMapKey.

§Examples

use cel_cxx::{FromMapKey, MapKey};

// Convert map keys back to Rust types
let cel_key = MapKey::String("hello".to_string().into());
let rust_string = String::from_mapkey(&cel_key).unwrap();
assert_eq!(rust_string, "hello");

let cel_key = MapKey::Int(42);
let rust_int = i64::from_mapkey(&cel_key).unwrap();
assert_eq!(rust_int, 42);

Required Methods§

Source

fn from_mapkey<'a>(key: &'a MapKey) -> Result<Self::Output<'a>, FromMapKeyError>

Attempts to convert a CEL MapKey into this type.

§Returns
  • Ok(Self): Conversion successful
  • Err(MapKey): Conversion failed, returns original map key

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 FromMapKey for &bool

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for &i64

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for &str

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for &u64

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for &ArcStr

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for bool

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for i16

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for i32

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for i64

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for isize

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for u16

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for u32

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for u64

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for usize

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for Box<str>

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for String

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Source§

impl FromMapKey for ArcStr

Source§

fn from_mapkey<'a>( mapkey: &'a MapKey, ) -> Result<<Self as FromValue>::Output<'a>, FromMapKeyError>

Implementors§